diff options
| author | otto <> | 2014-04-14 10:29:41 +0000 |
|---|---|---|
| committer | otto <> | 2014-04-14 10:29:41 +0000 |
| commit | 6b9c7acf5a05de2ae48429c9e422ebd070de40d2 (patch) | |
| tree | 7fda7aabf3d826b984ec3e7cb49f648eacb65dc5 /src/lib/libc/stdlib/malloc.c | |
| parent | ed92eeb1909d05fed85631343fee491beff0fe18 (diff) | |
| download | openbsd-6b9c7acf5a05de2ae48429c9e422ebd070de40d2.tar.gz openbsd-6b9c7acf5a05de2ae48429c9e422ebd070de40d2.tar.bz2 openbsd-6b9c7acf5a05de2ae48429c9e422ebd070de40d2.zip | |
print pid in error messages; ok reyk@
Diffstat (limited to 'src/lib/libc/stdlib/malloc.c')
| -rw-r--r-- | src/lib/libc/stdlib/malloc.c | 32 |
1 files changed, 18 insertions, 14 deletions
diff --git a/src/lib/libc/stdlib/malloc.c b/src/lib/libc/stdlib/malloc.c index 446a1ca254..2cd443191d 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.152 2014/04/03 16:18:11 schwarze Exp $ */ | 1 | /* $OpenBSD: malloc.c,v 1.153 2014/04/14 10:29:41 otto Exp $ */ |
| 2 | /* | 2 | /* |
| 3 | * Copyright (c) 2008, 2010, 2011 Otto Moerbeek <otto@drijf.net> | 3 | * Copyright (c) 2008, 2010, 2011 Otto Moerbeek <otto@drijf.net> |
| 4 | * Copyright (c) 2012 Matthew Dempsky <matthew@openbsd.org> | 4 | * Copyright (c) 2012 Matthew Dempsky <matthew@openbsd.org> |
| @@ -235,28 +235,32 @@ static void | |||
| 235 | wrterror(char *msg, void *p) | 235 | wrterror(char *msg, void *p) |
| 236 | { | 236 | { |
| 237 | char *q = " error: "; | 237 | char *q = " error: "; |
| 238 | struct iovec iov[6]; | 238 | struct iovec iov[7]; |
| 239 | char pidbuf[20]; | ||
| 239 | char buf[20]; | 240 | char buf[20]; |
| 240 | int saved_errno = errno; | 241 | int saved_errno = errno; |
| 241 | 242 | ||
| 242 | iov[0].iov_base = __progname; | 243 | iov[0].iov_base = __progname; |
| 243 | iov[0].iov_len = strlen(__progname); | 244 | iov[0].iov_len = strlen(__progname); |
| 244 | iov[1].iov_base = malloc_func; | 245 | iov[1].iov_base = pidbuf; |
| 245 | iov[1].iov_len = strlen(malloc_func); | 246 | snprintf(pidbuf, sizeof(pidbuf), "(%d)", getpid()); |
| 246 | iov[2].iov_base = q; | 247 | iov[1].iov_len = strlen(pidbuf); |
| 247 | iov[2].iov_len = strlen(q); | 248 | iov[2].iov_base = malloc_func; |
| 248 | iov[3].iov_base = msg; | 249 | iov[2].iov_len = strlen(malloc_func); |
| 249 | iov[3].iov_len = strlen(msg); | 250 | iov[3].iov_base = q; |
| 250 | iov[4].iov_base = buf; | 251 | iov[3].iov_len = strlen(q); |
| 252 | iov[4].iov_base = msg; | ||
| 253 | iov[4].iov_len = strlen(msg); | ||
| 254 | iov[5].iov_base = buf; | ||
| 251 | if (p == NULL) | 255 | if (p == NULL) |
| 252 | iov[4].iov_len = 0; | 256 | iov[5].iov_len = 0; |
| 253 | else { | 257 | else { |
| 254 | snprintf(buf, sizeof(buf), " %p", p); | 258 | snprintf(buf, sizeof(buf), " %p", p); |
| 255 | iov[4].iov_len = strlen(buf); | 259 | iov[5].iov_len = strlen(buf); |
| 256 | } | 260 | } |
| 257 | iov[5].iov_base = "\n"; | 261 | iov[6].iov_base = "\n"; |
| 258 | iov[5].iov_len = 1; | 262 | iov[6].iov_len = 1; |
| 259 | writev(STDERR_FILENO, iov, 6); | 263 | writev(STDERR_FILENO, iov, 7); |
| 260 | 264 | ||
| 261 | #ifdef MALLOC_STATS | 265 | #ifdef MALLOC_STATS |
| 262 | if (mopts.malloc_stats) | 266 | if (mopts.malloc_stats) |
