From 08a461b39c8d2af8643514cc7f0ed06491c82212 Mon Sep 17 00:00:00 2001
From: Steffen Jaeckel <s@jaeckel.eu>
Date: Thu, 8 Jun 2017 21:32:10 +0200
Subject: [PATCH] also build openssl-enc

---
 .gitignore          |  2 ++
 demos/openssl-enc.c | 10 +++++-----
 makefile_include.mk |  2 +-
 3 files changed, 8 insertions(+), 6 deletions(-)

diff --git a/.gitignore b/.gitignore
index ee4902f..be6d759 100644
--- a/.gitignore
+++ b/.gitignore
@@ -30,6 +30,8 @@ hashsum
 hashsum.exe
 multi
 multi.exe
+openssl-enc
+openssl-enc.exe
 sizes
 sizes.exe
 small
diff --git a/demos/openssl-enc.c b/demos/openssl-enc.c
index a974c55..daf529b 100644
--- a/demos/openssl-enc.c
+++ b/demos/openssl-enc.c
@@ -157,8 +157,8 @@ void dump_bytes(unsigned char *in, unsigned long len)
  * Set is_padding to 1 to pad, 0 to unpad.
  *
  * Input:        paddable buffer, size read, block length of cipher, mode
- * Output:       none
- * Side Effects: bytes printed as a hex blob, no lf at the end
+ * Output:       number of bytes after padding resp. after unpadding
+ * Side Effects: none
  */
 size_t pkcs7_pad(union paddable *buf, size_t nb, int block_length,
                  int is_padding)
@@ -190,14 +190,14 @@ size_t pkcs7_pad(union paddable *buf, size_t nb, int block_length,
 
       /* padval must be nonzero and <= block length */
       if(padval <= 0 || padval > block_length)
-         return -1;
+         return 0;
 
       /* First byte's accounted for; do the rest */
       idx--;
 
       while(idx >= (off_t)(nb-padval))
          if(buf->pad[idx] != padval)
-            return -1;
+            return 0;
          else
             idx--;
 
@@ -264,7 +264,7 @@ int do_crypt(FILE *infd, FILE *outfd, unsigned char *key, unsigned char *iv,
          if( feof(infd) )
             nb = pkcs7_pad(&outbuf, nb,
                            aes_desc.block_length, 0);
-         if(nb == -1)
+         if(nb == 0)
             /* The file didn't decrypt correctly */
             return CRYPT_ERROR;
 
diff --git a/makefile_include.mk b/makefile_include.mk
index e294d31..5c34a8e 100644
--- a/makefile_include.mk
+++ b/makefile_include.mk
@@ -108,7 +108,7 @@ THEADERS = $(wildcard testprof/*.h)
 TIMING=timing
 TEST=test
 
-USEFUL_DEMOS=hashsum
+USEFUL_DEMOS=hashsum openssl-enc
 DEMOS=$(USEFUL_DEMOS) ltcrypt small tv_gen sizes constants
 
 TIMINGS=demos/timing.o