diff options
author | Jonathan Gray <jsg@cvs.openbsd.org> | 2017-02-15 12:31:58 +0000 |
---|---|---|
committer | Jonathan Gray <jsg@cvs.openbsd.org> | 2017-02-15 12:31:58 +0000 |
commit | 7c04a0aeb1a1bf39b62d59c1cf89f9a090f174bd (patch) | |
tree | 575d014c60abe658bad9238d9ecbb862a89c43be /lib/libc/stdlib | |
parent | 95f2e88fc631e3e19f97b0fa80d982652f0c84e9 (diff) |
Add a NULL test to wrterror() to avoid a NULL deref when called from a
free() error path.
ok otto@
Diffstat (limited to 'lib/libc/stdlib')
-rw-r--r-- | lib/libc/stdlib/malloc.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/lib/libc/stdlib/malloc.c b/lib/libc/stdlib/malloc.c index adbb1668804..0b071e67438 100644 --- a/lib/libc/stdlib/malloc.c +++ b/lib/libc/stdlib/malloc.c @@ -1,4 +1,4 @@ -/* $OpenBSD: malloc.c,v 1.214 2017/02/02 10:35:34 otto Exp $ */ +/* $OpenBSD: malloc.c,v 1.215 2017/02/15 12:31:57 jsg Exp $ */ /* * Copyright (c) 2008, 2010, 2011, 2016 Otto Moerbeek <otto@drijf.net> * Copyright (c) 2012 Matthew Dempsky <matthew@openbsd.org> @@ -278,7 +278,7 @@ wrterror(struct dir_info *d, char *msg, ...) iov[0].iov_base = pidbuf; snprintf(pidbuf, sizeof(pidbuf), "%s(%d) in %s(): ", __progname, - getpid(), d->func ? d->func : "unknown"); + getpid(), (d != NULL && d->func) ? d->func : "unknown"); iov[0].iov_len = strlen(pidbuf); iov[1].iov_base = buf; va_start(ap, msg); |