diff options
Diffstat (limited to 'vendor/modernc.org/libc/mem_brk.go')
| -rw-r--r-- | vendor/modernc.org/libc/mem_brk.go | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/vendor/modernc.org/libc/mem_brk.go b/vendor/modernc.org/libc/mem_brk.go index eb2032dba..4a76fab7b 100644 --- a/vendor/modernc.org/libc/mem_brk.go +++ b/vendor/modernc.org/libc/mem_brk.go @@ -35,7 +35,9 @@ func Xmalloc(t *TLS, n types.Size_t) uintptr { trc("t=%v n=%v, (%v:)", t, n, origin(2)) } if n == 0 { - return 0 + // malloc(0) should return unique pointers + // (often expected and gnulib replaces malloc if malloc(0) returns 0) + n = 1 } allocMu.Lock() @@ -57,7 +59,7 @@ func Xmalloc(t *TLS, n types.Size_t) uintptr { // void *calloc(size_t nmemb, size_t size); func Xcalloc(t *TLS, n, size types.Size_t) uintptr { if __ccgo_strace { - trc("t=%v size=%v, (%v:)", t, size, origin(2)) + trc("t=%v n=%v size=%v, (%v:)", t, n, size, origin(2)) } return Xmalloc(t, n*size) } |
