summaryrefslogtreecommitdiff
path: root/vendor/modernc.org/libc/mem_brk.go
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/modernc.org/libc/mem_brk.go')
-rw-r--r--vendor/modernc.org/libc/mem_brk.go6
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)
}