From 4e0e29f48f797206a21aa5ba7855ffde72e85cf9 Mon Sep 17 00:00:00 2001 From: Benedict Date: Thu, 4 Aug 2016 19:24:17 +0200 Subject: completed set3, challenge 20 --- lib/lib2.c | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) (limited to 'lib/lib2.c') diff --git a/lib/lib2.c b/lib/lib2.c index c7e6ebb..e447054 100644 --- a/lib/lib2.c +++ b/lib/lib2.c @@ -6,12 +6,11 @@ * and append to last block so that it is also of blocksize length */ -char *pkcs7_padding(char *string, int length_string, int blocksize) +char *__pkcs7_padding(char *string, int length_string, int blocksize, int *padding) { char *result = NULL; int i; int value = blocksize - (length_string % blocksize); - result = malloc(length_string+value+1); memcpy(result, string, length_string); @@ -19,10 +18,15 @@ char *pkcs7_padding(char *string, int length_string, int blocksize) result[length_string+i] = (char) value; } result[length_string+i] = '\0'; - + *padding = value; return result; } +char *pkcs7_padding(char *string, int length_string, int blocksize) +{ + int not_interested; + return __pkcs7_padding(string, length_string, blocksize, ¬_interested); +} /** * unpadd a string * @param in string which should be unpadded -- cgit v1.2.3-70-g09d2