summaryrefslogtreecommitdiff
path: root/funcs
diff options
context:
space:
mode:
authorGianluca Merlo <gianluca.merlo@gmail.com>2016-03-19 02:32:51 +0100
committerGianluca Merlo <gianluca.merlo@gmail.com>2016-03-19 07:21:14 -0500
commitaa2fcd244eaf9e6099479d289f1833ae471fb2ba (patch)
tree814fd4dbcafd0bc4f1a075ce0b1641397db0b84c /funcs
parent9444ddadf8525d1ce66a1faf1db97f9f6c265ca4 (diff)
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
Diffstat (limited to 'funcs')
-rw-r--r--funcs/func_aes.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/funcs/func_aes.c b/funcs/func_aes.c
index 3338118f9..f4a8d06b7 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);
}