From: Gianluca Merlo Date: Sat, 19 Mar 2016 01:32:51 +0000 (+0100) Subject: func_aes: fix misuse of strlen on binary data X-Git-Tag: 13.9.0-rc1~78^2 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=refs%2Fchanges%2F39%2F2439%2F1;p=thirdparty%2Fasterisk.git func_aes: fix misuse of strlen on binary data The encryption code for AES_ENCRYPT evaluates the length of the data to be encoded in base64 using strlen. The data is binary, thus the length of it can be underestimated at the first NULL character. Reuse the write pointer offset to evaluate it, instead. ASTERISK-25857 #close Change-Id: If686b5d570473eb926693c73461177b35b13b186 --- diff --git a/funcs/func_aes.c b/funcs/func_aes.c index 3338118f9a..f4a8d06b71 100644 --- a/funcs/func_aes.c +++ b/funcs/func_aes.c @@ -146,7 +146,7 @@ static int aes_helper(struct ast_channel *chan, const char *cmd, char *data, } if (encrypt) { /* if encrypting encode result to base64 */ - ast_base64encode(buf, (unsigned char *) tmp, strlen(tmp), len); + ast_base64encode(buf, (unsigned char *) tmp, tmpP - tmp, len); } else { memcpy(buf, tmp, len); }