summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPietro Gagliardi <[email protected]>2018-08-26 14:26:33 -0400
committerPietro Gagliardi <[email protected]>2018-08-26 14:26:33 -0400
commitc90187046a01c5144d80c2c9d52d7c8e36f24b5b (patch)
tree9d1af8ab51dbc05b432dc55cdc8ce31373bad91e
parentd8200a9f043458b900911861277216e17058effe (diff)
Zero-fill pkguiAlloc()'s output.
-rw-r--r--pkgui.h1
-rw-r--r--util.go6
2 files changed, 5 insertions, 2 deletions
diff --git a/pkgui.h b/pkgui.h
index d511041..d7cd5b2 100644
--- a/pkgui.h
+++ b/pkgui.h
@@ -3,6 +3,7 @@
#define pkguiHFileIncluded
#include <stdlib.h>
+#include <string.h>
#include <time.h>
#include "ui.h"
diff --git a/util.go b/util.go
index e7fb937..9c3fd63 100644
--- a/util.go
+++ b/util.go
@@ -12,8 +12,10 @@ import "C"
//export pkguiAlloc
func pkguiAlloc(n C.size_t) unsafe.Pointer {
// cgo turns C.malloc() into a panic-on-OOM version; use it
- // TODO make sure it zero-initializes too
- return C.malloc(n)
+ ret := C.malloc(n)
+ // and this won't zero-initialize; do it ourselves
+ C.memset(ret, 0, n)
+ return ret
}
func freestr(str *C.char) {