summaryrefslogtreecommitdiff
path: root/jcnf/jcnf.c
diff options
context:
space:
mode:
authorJörg Frings-Fürst <debian@jff-webhosting.net>2017-11-25 10:16:00 +0100
committerJörg Frings-Fürst <debian@jff-webhosting.net>2017-11-25 10:16:00 +0100
commitf6b8e0eae4374f339487a33e3e4fe5462d5816e1 (patch)
tree5f5f764fd6cda404b2ad6e85762c03fce3a335db /jcnf/jcnf.c
parent615ab5513e79c4abc5bbe5c993587785b6a1738b (diff)
New upstream version 2.0.0upstream/2.0.0
Diffstat (limited to 'jcnf/jcnf.c')
-rwxr-xr-x[-rw-r--r--]jcnf/jcnf.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/jcnf/jcnf.c b/jcnf/jcnf.c
index 799be7c..273796e 100644..100755
--- a/jcnf/jcnf.c
+++ b/jcnf/jcnf.c
@@ -413,6 +413,7 @@ static jc_error jcnf_delete_key(
if ((ix+1) < p->nkeys) {
memmove(p->keys+ix, p->keys+ix+1,sizeof(jc_key *) * p->nkeys-ix-1);
}
+ free(p->keys[p->nkeys-1]);
p->nkeys--;
p->modified = 1;
@@ -607,6 +608,7 @@ static int jcnf_yajl_start_map(void *ctx) {
return 1;
}
+/* Callback from yajl */
static int jcnf_yajl_map_key(void *ctx, const unsigned char * stringVal,
size_t stringLen) {
jcnf *p = (jcnf *)ctx;
@@ -650,6 +652,8 @@ static int jcnf_yajl_end_map(void *ctx) {
/* End of map without start of map */
return 0;
}
+ if (p->recds[p->nrecd-1].key != NULL)
+ free(p->recds[p->nrecd-1].key);
p->nrecd--;
#ifdef NEVER