Add null pointer checks to unordered object iterator

This commit is contained in:
rexy712 2020-03-05 17:22:56 -08:00
parent f97826aac3
commit 5c7be8fb66

View File

@ -132,7 +132,7 @@ void irjp_init_unordered_object_iterator(RJP_object_iterator* it, const RJP_valu
it->it = rjp_alloc(sizeof(RJP_object_iterator_impl)); it->it = rjp_alloc(sizeof(RJP_object_iterator_impl));
RJP_object_iterator_impl* itimpl = it->it; RJP_object_iterator_impl* itimpl = it->it;
RJP_tree_node* root = object->object.root; RJP_tree_node* root = object ? object->object.root : NULL;
irjp_init_tree_stack(&itimpl->stack); irjp_init_tree_stack(&itimpl->stack);
RJP_tree_node* current = (RJP_tree_node*)root; RJP_tree_node* current = (RJP_tree_node*)root;
while(current){ while(current){
@ -141,6 +141,8 @@ void irjp_init_unordered_object_iterator(RJP_object_iterator* it, const RJP_valu
} }
} }
void irjp_delete_unordered_object_iterator(RJP_object_iterator* it){ void irjp_delete_unordered_object_iterator(RJP_object_iterator* it){
if(!it->it)
return;
irjp_delete_tree_stack(&it->it->stack); irjp_delete_tree_stack(&it->it->stack);
rjp_free(it->it); rjp_free(it->it);
it->it = NULL; it->it = NULL;