summaryrefslogtreecommitdiffstats
path: root/ChangeLog
diff options
context:
space:
mode:
authorKaz Kylheku <kaz@kylheku.com>2011-11-18 13:27:18 -0800
committerKaz Kylheku <kaz@kylheku.com>2011-11-18 13:27:18 -0800
commit469c98066160e682eda0fd2ba7a189e388ab9257 (patch)
tree38fca8299308a1d4e3ed1f83a8b0048bc0d05999 /ChangeLog
parent6d2bc0b88c6f0060bce5c79ee5879cf4ce77a35f (diff)
downloadtxr-469c98066160e682eda0fd2ba7a189e388ab9257.tar.gz
txr-469c98066160e682eda0fd2ba7a189e388ab9257.tar.bz2
txr-469c98066160e682eda0fd2ba7a189e388ab9257.zip
* gc.c (mark_mem_region): Use the Valgrind API only to mark
the type field as accessible, not the whole object that we are checking. Marking the whole object accessible hides uninitialized field bugs! * lib.c: And found a bug already: lazy_str was not completely initializing all of the object fields (ls.prefix, ls.list) before invoking memory allocating operations, making it possible for the garbage collector to encounter uninitialized object areas.
Diffstat (limited to 'ChangeLog')
-rw-r--r--ChangeLog13
1 files changed, 13 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index 2c819949..5cb9f923 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,18 @@
2011-11-18 Kaz Kylheku <kaz@kylheku.com>
+ * gc.c (mark_mem_region): Use the Valgrind API only to mark
+ the type field as accessible, not the whole object that
+ we are checking. Marking the whole object accessible hides
+ uninitialized field bugs!
+
+ * lib.c: And found a bug already: lazy_str was not completely
+ initializing all of the object fields (ls.prefix, ls.list)
+ before invoking memory allocating operations, making it
+ possible for the garbage collector to encounter uninitialized
+ object areas.
+
+2011-11-18 Kaz Kylheku <kaz@kylheku.com>
+
Added a JSON parsing test case. This flushed out a bug which crashed
the garbage collector (uninitialized fields in function objects).