diff options
author | jsg <> | 2017-02-15 12:31:57 +0000 |
---|---|---|
committer | jsg <> | 2017-02-15 12:31:57 +0000 |
commit | 01e4d23bd719600c70b5ed78dacce52ca19efcaf (patch) | |
tree | 9410303eac9736ec47ae6aa6fb35b57d7391d130 /src/lib | |
parent | 8b8f908f4a9b12c59368d63c436b38200e4e1a30 (diff) | |
download | openbsd-01e4d23bd719600c70b5ed78dacce52ca19efcaf.tar.gz openbsd-01e4d23bd719600c70b5ed78dacce52ca19efcaf.tar.bz2 openbsd-01e4d23bd719600c70b5ed78dacce52ca19efcaf.zip |
Add a NULL test to wrterror() to avoid a NULL deref when called from a
free() error path.
ok otto@
Diffstat (limited to 'src/lib')
-rw-r--r-- | src/lib/libc/stdlib/malloc.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/lib/libc/stdlib/malloc.c b/src/lib/libc/stdlib/malloc.c index adbb166880..0b071e6743 100644 --- a/src/lib/libc/stdlib/malloc.c +++ b/src/lib/libc/stdlib/malloc.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: malloc.c,v 1.214 2017/02/02 10:35:34 otto Exp $ */ | 1 | /* $OpenBSD: malloc.c,v 1.215 2017/02/15 12:31:57 jsg Exp $ */ |
2 | /* | 2 | /* |
3 | * Copyright (c) 2008, 2010, 2011, 2016 Otto Moerbeek <otto@drijf.net> | 3 | * Copyright (c) 2008, 2010, 2011, 2016 Otto Moerbeek <otto@drijf.net> |
4 | * Copyright (c) 2012 Matthew Dempsky <matthew@openbsd.org> | 4 | * Copyright (c) 2012 Matthew Dempsky <matthew@openbsd.org> |
@@ -278,7 +278,7 @@ wrterror(struct dir_info *d, char *msg, ...) | |||
278 | 278 | ||
279 | iov[0].iov_base = pidbuf; | 279 | iov[0].iov_base = pidbuf; |
280 | snprintf(pidbuf, sizeof(pidbuf), "%s(%d) in %s(): ", __progname, | 280 | snprintf(pidbuf, sizeof(pidbuf), "%s(%d) in %s(): ", __progname, |
281 | getpid(), d->func ? d->func : "unknown"); | 281 | getpid(), (d != NULL && d->func) ? d->func : "unknown"); |
282 | iov[0].iov_len = strlen(pidbuf); | 282 | iov[0].iov_len = strlen(pidbuf); |
283 | iov[1].iov_base = buf; | 283 | iov[1].iov_base = buf; |
284 | va_start(ap, msg); | 284 | va_start(ap, msg); |