summaryrefslogtreecommitdiff
path: root/src/bencode.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/bencode.c')
-rw-r--r--src/bencode.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/src/bencode.c b/src/bencode.c
index f060cbe..c890a28 100644
--- a/src/bencode.c
+++ b/src/bencode.c
@@ -218,11 +218,13 @@ void be_free(be_node * node)
case BE_DICT:
{
unsigned int i;
- for (i = 0; node->val.d[i].val; ++i) {
- _be_free_str(node->val.d[i].key);
- be_free(node->val.d[i].val);
+ if (node->val.d) {
+ for (i = 0; node->val.d[i].val; ++i) {
+ _be_free_str(node->val.d[i].key);
+ be_free(node->val.d[i].val);
+ }
+ g_free(node->val.d);
}
- g_free(node->val.d);
break;
}
}