From 4459a37f7d3000cf052d556b01c95cdd4ae1a610 Mon Sep 17 00:00:00 2001 From: David Robillard Date: Tue, 22 Jan 2013 05:03:09 +0000 Subject: 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 --- src/writer.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) (limited to 'src') 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); -- cgit v1.2.1