[Asterisk-code-review] utils.c: NULL terminate ast_base64decode_string. (asterisk[16])
Joshua Colp
asteriskteam at digium.com
Thu Oct 1 05:30:52 CDT 2020
Hello Benjamin Keith Ford,
I'd like you to do a code review. Please visit
https://gerrit.asterisk.org/c/asterisk/+/15036
to review the following change.
Change subject: utils.c: NULL terminate ast_base64decode_string.
......................................................................
utils.c: NULL terminate ast_base64decode_string.
With the addition of STIR/SHAKEN, the function ast_base64decode_string
was added for convenience since there is a lot of converting done during
the STIR/SHAKEN process. This function returned the decoded string for
you, but did not NULL terminate it, causing some issues (specifically
with MALLOC_DEBUG). Now, the returned string is NULL terminated, and the
documentation has been updated to reflect this.
Change-Id: Icdd7d05b323b0c47ff6ed43492937a03641bdcf5
---
M include/asterisk/utils.h
M main/utils.c
2 files changed, 3 insertions(+), 2 deletions(-)
git pull ssh://gerrit.asterisk.org:29418/asterisk refs/changes/36/15036/1
diff --git a/include/asterisk/utils.h b/include/asterisk/utils.h
index f6280eb..0ee11ee 100644
--- a/include/asterisk/utils.h
+++ b/include/asterisk/utils.h
@@ -267,7 +267,7 @@
* \brief Same as ast_base64decode, but does the math for you and returns
* a decoded string
*
- * \note The returned string will need to be freed later
+ * \note The returned string will need to be freed later and IS NULL terminated
*
* \param src The source buffer
*
diff --git a/main/utils.c b/main/utils.c
index 0b6c6493..827ee2e 100644
--- a/main/utils.c
+++ b/main/utils.c
@@ -331,12 +331,13 @@
}
decoded_len = (encoded_len / 4 * 3) - padding;
- decoded_string = ast_calloc(1, decoded_len);
+ decoded_string = ast_malloc(decoded_len + 1);
if (!decoded_string) {
return NULL;
}
ast_base64decode(decoded_string, src, decoded_len);
+ decoded_string[decoded_len] = '\0';
return (char *)decoded_string;
}
--
To view, visit https://gerrit.asterisk.org/c/asterisk/+/15036
To unsubscribe, or for help writing mail filters, visit https://gerrit.asterisk.org/settings
Gerrit-Project: asterisk
Gerrit-Branch: 16
Gerrit-Change-Id: Icdd7d05b323b0c47ff6ed43492937a03641bdcf5
Gerrit-Change-Number: 15036
Gerrit-PatchSet: 1
Gerrit-Owner: Joshua Colp <jcolp at sangoma.com>
Gerrit-Reviewer: Benjamin Keith Ford <bford at digium.com>
Gerrit-MessageType: newchange
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.digium.com/pipermail/asterisk-code-review/attachments/20201001/6243b6bb/attachment-0001.html>
More information about the asterisk-code-review
mailing list