diff options
author | David Robillard <d@drobilla.net> | 2013-01-22 05:03:09 +0000 |
---|---|---|
committer | David Robillard <d@drobilla.net> | 2013-01-22 05:03:09 +0000 |
commit | 4459a37f7d3000cf052d556b01c95cdd4ae1a610 (patch) | |
tree | 7d7bd32a0f6b21ff76f86e2959d8035a80a76a9f | |
parent | 6a9f4ff22970737ae781f99b599e291f353e9e1f (diff) | |
download | serd-4459a37f7d3000cf052d556b01c95cdd4ae1a610.tar.gz serd-4459a37f7d3000cf052d556b01c95cdd4ae1a610.tar.bz2 serd-4459a37f7d3000cf052d556b01c95cdd4ae1a610.zip |
Fix possible crash in serd_writer_end_anon() when writing invalid lists
git-svn-id: http://svn.drobilla.net/serd/trunk@409 490d8e77-9747-427b-9fa3-0b8f29cee8a0
-rw-r--r-- | NEWS | 6 | ||||
-rw-r--r-- | README | 2 | ||||
-rw-r--r-- | src/writer.c | 3 | ||||
-rw-r--r-- | wscript | 2 |
4 files changed, 9 insertions, 4 deletions
@@ -1,3 +1,9 @@ +serd (0.18.3) unstable; + + * Fix possible crash in serd_writer_end_anon() when writing invalid lists + + -- David Robillard <d@drobilla.net> Mon, 21 Jan 2013 22:03:07 -0500 + serd (0.18.2) stable; * Fix crash when serd_node_new_decimal is called with infinity or NaN @@ -1,5 +1,5 @@ Serd ----- +==== Serd is a lightweight C library for RDF syntax which supports reading and writing Turtle and NTriples. diff --git a/src/writer.c b/src/writer.c index c6f010c0..a9574d76 100644 --- a/src/writer.c +++ b/src/writer.c @@ -602,12 +602,11 @@ serd_writer_end_anon(SerdWriter* writer, if (writer->syntax == SERD_NTRIPLES) { return SERD_SUCCESS; } - if (serd_stack_is_empty(&writer->anon_stack)) { + if (serd_stack_is_empty(&writer->anon_stack) || writer->indent == 0) { w_err(writer, SERD_ERR_UNKNOWN, "unexpected end of anonymous node\n"); return SERD_ERR_UNKNOWN; } - assert(writer->indent > 0); --writer->indent; write_sep(writer, SEP_ANON_END); reset_context(writer, true); @@ -11,7 +11,7 @@ import waflib.extras.autowaf as autowaf # major increment <=> incompatible changes # minor increment <=> compatible changes (additions) # micro increment <=> no interface changes -SERD_VERSION = '0.18.2' +SERD_VERSION = '0.18.3' SERD_MAJOR_VERSION = '0' # Mandatory waf variables |