ACK: [PATCH] lib: fwts_stringextras: free original string on failed realloc
ivanhu
ivan.hu at canonical.com
Fri Apr 21 02:30:41 UTC 2017
On 04/13/2017 05:48 PM, Colin King wrote:
> From: Colin Ian King <colin.king at canonical.com>
>
> A common bug is where realloc fails to allocate and we assume that
> the memory being realloc'd was freed. This is not the case, the
> NULL return means we need to free the original string to avoid
> a memory leak.
>
> Signed-off-by: Colin Ian King <colin.king at canonical.com>
> ---
> src/lib/src/fwts_stringextras.c | 7 ++++++-
> 1 file changed, 6 insertions(+), 1 deletion(-)
>
> diff --git a/src/lib/src/fwts_stringextras.c b/src/lib/src/fwts_stringextras.c
> index f63434b7..bbf35d62 100644
> --- a/src/lib/src/fwts_stringextras.c
> +++ b/src/lib/src/fwts_stringextras.c
> @@ -58,8 +58,13 @@ char *fwts_realloc_strcat(char *orig, const char *newstr)
> size_t newlen = strlen(newstr);
>
> if (orig) {
> - if ((orig = realloc(orig, strlen(orig) + newlen + 1)) == NULL)
> + char *tmp;
> +
> + tmp = realloc(orig, strlen(orig) + newlen + 1);
> + if (!tmp) {
> + free(orig);
> return NULL;
> + }
> strcat(orig, newstr);
> } else {
> if ((orig = malloc(newlen + 1)) == NULL)
>
Acked-by: Ivan Hu <ivan.hu at canonical.com>
More information about the fwts-devel
mailing list