]> git.ipfire.org Git - thirdparty/tvheadend.git/commitdiff
htsmsg: add proper hmf_msg.hm_data initialization
authorJaroslav Kysela <perex@perex.cz>
Wed, 18 Nov 2015 20:27:32 +0000 (21:27 +0100)
committerJaroslav Kysela <perex@perex.cz>
Wed, 18 Nov 2015 20:27:32 +0000 (21:27 +0100)
src/htsmsg.c

index 02a6634965a90f4f55fa02c193911f070bbfb520..257cbfb16ecc907fdce63fafcc2f4ef29cf7f8a7 100644 (file)
@@ -355,6 +355,7 @@ static htsmsg_t *
 htsmsg_field_set_msg(htsmsg_field_t *f, htsmsg_t *sub)
 {
   assert(sub->hm_data == NULL);
+  f->hmf_msg.hm_data = NULL;
   f->hmf_msg.hm_islist = sub->hm_islist;
   TAILQ_MOVE(&f->hmf_msg.hm_fields, &sub->hm_fields, hmf_link);
   free(sub);
@@ -404,6 +405,7 @@ htsmsg_add_msg_extname(htsmsg_t *msg, const char *name, htsmsg_t *sub)
   f = htsmsg_field_add(msg, name, sub->hm_islist ? HMF_LIST : HMF_MAP, 0);
 
   assert(sub->hm_data == NULL);
+  f->hmf_msg.hm_data = NULL;
   TAILQ_MOVE(&f->hmf_msg.hm_fields, &sub->hm_fields, hmf_link);
   f->hmf_msg.hm_islist = sub->hm_islist;
   free(sub);
@@ -794,6 +796,7 @@ htsmsg_field_get_msg ( htsmsg_field_t *f, int islist )
       free((void*)f->hmf_str);
       f->hmf_type          = m->hm_islist ? HMF_LIST : HMF_MAP;
       f->hmf_msg.hm_islist = m->hm_islist;
+      f->hmf_msg.hm_data   = NULL;
       TAILQ_MOVE(&f->hmf_msg.hm_fields, &m->hm_fields, hmf_link);
       free(m);
     }