diff options
author | David Robillard <d@drobilla.net> | 2020-08-16 13:01:53 +0200 |
---|---|---|
committer | David Robillard <d@drobilla.net> | 2020-08-16 13:56:40 +0200 |
commit | bb1a00aac2e2315a88ef0274455e510afa79ea95 (patch) | |
tree | f7c68d1271ba36c21830c1106dced71fdd51d5e2 /src | |
parent | fc81e2734ccc293f9d2755b700e8b437ee624560 (diff) | |
download | serd-bb1a00aac2e2315a88ef0274455e510afa79ea95.tar.gz serd-bb1a00aac2e2315a88ef0274455e510afa79ea95.tar.bz2 serd-bb1a00aac2e2315a88ef0274455e510afa79ea95.zip |
Ensure that all free methods tolerate NULL
Diffstat (limited to 'src')
-rw-r--r-- | src/env.c | 4 | ||||
-rw-r--r-- | src/reader.c | 4 | ||||
-rw-r--r-- | src/writer.c | 4 |
3 files changed, 12 insertions, 0 deletions
@@ -47,6 +47,10 @@ serd_env_new(const SerdNode* base_uri) void serd_env_free(SerdEnv* env) { + if (!env) { + return; + } + for (size_t i = 0; i < env->n_prefixes; ++i) { serd_node_free(&env->prefixes[i].name); serd_node_free(&env->prefixes[i].uri); diff --git a/src/reader.c b/src/reader.c index 4710caac..5d33e45d 100644 --- a/src/reader.c +++ b/src/reader.c @@ -218,6 +218,10 @@ serd_reader_set_error_sink(SerdReader* reader, void serd_reader_free(SerdReader* reader) { + if (!reader) { + return; + } + pop_node(reader, reader->rdf_nil); pop_node(reader, reader->rdf_rest); pop_node(reader, reader->rdf_first); diff --git a/src/writer.c b/src/writer.c index 81e0a845..5f312c30 100644 --- a/src/writer.c +++ b/src/writer.c @@ -978,6 +978,10 @@ serd_writer_set_prefix(SerdWriter* writer, void serd_writer_free(SerdWriter* writer) { + if (!writer) { + return; + } + serd_writer_finish(writer); serd_stack_free(&writer->anon_stack); free(writer->bprefix); |