diff --git a/ares__read_line.c b/ares__read_line.c index bd9504fc4f..6ebd42fe6e 100644 --- a/ares__read_line.c +++ b/ares__read_line.c @@ -61,7 +61,10 @@ int ares__read_line(FILE *fp, char **buf, size_t *bufsize) /* Allocate more space. */ newbuf = realloc(*buf, *bufsize * 2); if (!newbuf) - return ARES_ENOMEM; + { + free(*buf); + return ARES_ENOMEM; + } *buf = newbuf; *bufsize *= 2; }