Andrew's git
/
gitweb.git
/ diff
summary
|
log
|
commit
| diff |
tree
commit
grep
author
committer
pickaxe
?
re
win32: plug memory leak on realloc() failure in syslog()
author
René Scharfe
<l.s.r@web.de>
Thu, 10 Aug 2017 10:23:45 +0000
(12:23 +0200)
committer
Junio C Hamano
<gitster@pobox.com>
Thu, 10 Aug 2017 20:57:52 +0000
(13:57 -0700)
If realloc() fails then the original buffer is still valid. Free it
before exiting the function.
Signed-off-by: Rene Scharfe <l.s.r@web.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
compat/win32/syslog.c
patch
|
blob
|
history
raw
|
patch
| inline |
side by side
(parent:
7234152
)
diff --git
a/compat/win32/syslog.c
b/compat/win32/syslog.c
index 6c7c9b60538d932d6dbc2d32774a6f64f8687c69..161978d720aed9db5a00c77d1c6bd9a073544f15 100644
(file)
--- a/
compat/win32/syslog.c
+++ b/
compat/win32/syslog.c
@@
-43,8
+43,10
@@
void syslog(int priority, const char *fmt, ...)
va_end(ap);
while ((pos = strstr(str, "%1")) != NULL) {
+ char *oldstr = str;
str = realloc(str, st_add(++str_len, 1));
if (!str) {
+ free(oldstr);
warning_errno("realloc failed");
return;
}