aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKatharina Fey <kookie@spacekookie.de>2016-08-21 16:56:43 +0200
committerKatharina Fey <kookie@spacekookie.de>2016-08-21 16:56:43 +0200
commit9d3395a98ff79596444796ba694be0ed1c8a8248 (patch)
treee4f4baf3c6444c4450dcd7f963962c55871cbb17
parenta3022f0ba3dc26409eac2d9811dd94375346eb53 (diff)
Fixing an issue that could cause a SIGABRT
-rw-r--r--lib/dyn_tree.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/lib/dyn_tree.c b/lib/dyn_tree.c
index d72d1d5..2cf100d 100644
--- a/lib/dyn_tree.c
+++ b/lib/dyn_tree.c
@@ -225,8 +225,8 @@ dt_err dtree_split_trees(dtree *data, dtree *sp)
dt_err dtree_merge_trees(dtree *data, dtree *merge)
{
/* REALLY make sure the type is correct */
- if(data->type == UNSET ||
- !(data->type == RECURSIVE || data->type == PAIR))
+ if(data->type == UNSET) return INVALID_PARAMS;
+ if(!(data->type == RECURSIVE || data->type == PAIR))
return INVALID_PAYLOAD;
/* This means elements already exist */
@@ -362,7 +362,7 @@ dt_err dtree_free(dtree *data)
} else if(data->type == RECURSIVE || data->type == PAIR) {
int i;
dt_err err;
- for(i = 0; i < data->size; i++) {
+ for(i = 0; i < data->used; i++) {
err = dtree_free(data->payload.recursive[i]);
if(err) return err;
}