]> git.ipfire.org Git - location/libloc.git/commitdiff
writer: Break when a network cound not be allocated
authorMichael Tremer <michael.tremer@ipfire.org>
Sun, 11 Jul 2021 11:44:28 +0000 (11:44 +0000)
committerMichael Tremer <michael.tremer@ipfire.org>
Sun, 11 Jul 2021 11:53:43 +0000 (11:53 +0000)
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
src/writer.c

index c61a6dfc657e92c1f552207f9af81cf671cb38da..0b4f5b9e5f00026fa7ce2c8952f1ed3ef887ec62 100644 (file)
@@ -423,6 +423,8 @@ static int loc_database_write_networks(struct loc_writer* writer,
        // Add root
        struct loc_network_tree_node* root = loc_network_tree_get_root(writer->networks);
        node = make_node(root);
+       if (!node)
+               return 1;
 
        TAILQ_INSERT_TAIL(&nodes, node, nodes);
 
@@ -463,6 +465,10 @@ static int loc_database_write_networks(struct loc_writer* writer,
 
                        // Append network to be written out later
                        struct network* nw = make_network(network);
+                       if (!nw) {
+                               free_node(node);
+                               return 1;
+                       }
                        TAILQ_INSERT_TAIL(&networks, nw, networks);
 
                        db_node.network = htobe32(network_index++);