diff options
Diffstat (limited to 'src/reader.c')
-rw-r--r-- | src/reader.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/src/reader.c b/src/reader.c index fc39d7fa..25c4b3b1 100644 --- a/src/reader.c +++ b/src/reader.c @@ -114,6 +114,10 @@ emit_statement(SerdReader* const reader, graph = reader->default_graph; } + if (reader->stack.size + (2 * sizeof(SerdNode)) > reader->stack.buf_size) { + return SERD_BAD_STACK; + } + /* Zero the pad of the object node on the top of the stack. Lower nodes (subject and predicate) were already zeroed by subsequent pushes. */ serd_node_zero_pad(o); |