From c7715b8b5ee48297c9a4fc0831556921d5f78fb0 Mon Sep 17 00:00:00 2001 From: David Robillard Date: Mon, 13 Jun 2016 12:42:31 -0400 Subject: Fix use of uninitialized fields Fixes #1135 --- src/reader.c | 17 +---------------- src/writer.c | 9 +-------- tests/serd_test.c | 5 +---- 3 files changed, 3 insertions(+), 28 deletions(-) diff --git a/src/reader.c b/src/reader.c index 5465dba6..b85284cd 100644 --- a/src/reader.c +++ b/src/reader.c @@ -1493,33 +1493,18 @@ serd_reader_new(SerdSyntax syntax, SerdEndSink end_sink) { const Cursor cur = { NULL, 0, 0 }; - SerdReader* me = (SerdReader*)malloc(sizeof(struct SerdReaderImpl)); + SerdReader* me = (SerdReader*)calloc(1, sizeof(SerdReader)); me->handle = handle; me->free_handle = free_handle; me->base_sink = base_sink; me->prefix_sink = prefix_sink; me->statement_sink = statement_sink; me->end_sink = end_sink; - me->error_sink = NULL; - me->error_handle = NULL; me->default_graph = SERD_NODE_NULL; - me->fd = 0; me->stack = serd_stack_new(SERD_PAGE_SIZE); me->syntax = syntax; me->cur = cur; - me->bprefix = NULL; - me->bprefix_len = 0; me->next_id = 1; - me->read_buf = 0; - me->file_buf = 0; - me->read_head = 0; - me->strict = false; - me->eof = false; - me->seen_genid = false; -#ifdef SERD_STACK_CHECK - me->allocs = 0; - me->n_allocs = 0; -#endif me->rdf_first = push_node(me, SERD_URI, NS_RDF "first", 48); me->rdf_rest = push_node(me, SERD_URI, NS_RDF "rest", 47); diff --git a/src/writer.c b/src/writer.c index a037bf81..954b9b5c 100644 --- a/src/writer.c +++ b/src/writer.c @@ -799,7 +799,7 @@ serd_writer_new(SerdSyntax syntax, void* stream) { const WriteContext context = WRITE_CONTEXT_NULL; - SerdWriter* writer = (SerdWriter*)malloc(sizeof(SerdWriter)); + SerdWriter* writer = (SerdWriter*)calloc(1, sizeof(SerdWriter)); writer->syntax = syntax; writer->style = style; writer->env = env; @@ -809,15 +809,8 @@ serd_writer_new(SerdSyntax syntax, writer->anon_stack = serd_stack_new(sizeof(WriteContext)); writer->sink = ssink; writer->stream = stream; - writer->error_sink = NULL; - writer->error_handle = NULL; writer->context = context; writer->list_subj = SERD_NODE_NULL; - writer->list_depth = 0; - writer->bprefix = NULL; - writer->bprefix_len = 0; - writer->indent = 0; - writer->last_sep = SEP_NONE; writer->empty = true; if (style & SERD_STYLE_BULK) { writer->bulk_sink = serd_bulk_sink_new(ssink, stream, SERD_PAGE_SIZE); diff --git a/tests/serd_test.c b/tests/serd_test.c index cfd658c4..a0a6c47f 100644 --- a/tests/serd_test.c +++ b/tests/serd_test.c @@ -602,10 +602,7 @@ main(void) // Rewind and test reader fseek(fd, 0, SEEK_SET); - ReaderTest* rt = (ReaderTest*)malloc(sizeof(ReaderTest)); - rt->n_statements = 0; - rt->graph = NULL; - + ReaderTest* rt = (ReaderTest*)calloc(1, sizeof(ReaderTest)); SerdReader* reader = serd_reader_new( SERD_TURTLE, rt, free, NULL, NULL, test_sink, NULL); -- cgit v1.2.1