[PATCH:xmessage] Stop leaking temporary buffer when realloc fails to enlarge it
Alan Coopersmith
alan.coopersmith at oracle.com
Mon Dec 9 21:30:21 PST 2013
Fixes cppcheck error:
[readfile.c:108]: (error) Common realloc mistake: 'cp' nulled
but not freed upon failure
Signed-off-by: Alan Coopersmith <alan.coopersmith at oracle.com>
---
readfile.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/readfile.c b/readfile.c
index 9729854..122020f 100644
--- a/readfile.c
+++ b/readfile.c
@@ -104,9 +104,11 @@ get_data_from_stdin (int *len_return)
count += n;
/* Here count <= allocated. Prepare for next round. */
if (count + BUFSIZ > allocated) {
+ char *oldp = cp;
allocated = 2 * allocated;
cp = realloc (cp, allocated + 1);
if (!cp) {
+ free(oldp);
fprintf(stderr, "cannot get memory for message file\n");
return NULL;
}
--
1.7.9.2
More information about the xorg-devel
mailing list