shithub: mc

Download patch

ref: f13090387d3a76daf8b531cb2e8bfa7e26b6f344
parent: 348a8d66a5282e2738bdc44f7c12ac8900d8e31e
author: Ori Bernstein <[email protected]>
date: Wed Oct 1 17:00:36 EDT 2014

Clear memory on deallocation.

    Helps detect use-after-free.

--- a/libstd/alloc.myr
+++ b/libstd/alloc.myr
@@ -235,7 +235,12 @@
 /* frees a blob that is 'sz' bytes long. */
 const bytefree = {p, sz
 	var bkt
+	var b, i
 
+	b = p[:sz]
+	for i = 0; i < sz; i++
+		b[i] = 0xa8
+	;;
 	if (sz < Bktmax)
 		bkt = &buckets[bktnum(sz)]
 		bktfree(bkt, p)