]> git.ipfire.org Git - thirdparty/tvheadend.git/commitdiff
htsmsg: check the field/key name length (max 255 characters), issue #5359
authorJaroslav Kysela <perex@perex.cz>
Wed, 5 Dec 2018 11:14:09 +0000 (12:14 +0100)
committerJaroslav Kysela <perex@perex.cz>
Wed, 5 Dec 2018 11:14:09 +0000 (12:14 +0100)
src/htsmsg.c

index b45dd929f22e706cb1105176de6ebfb7acc740ee..734419aa3df2e16285d9fd0e67efb38562562c43 100644 (file)
@@ -125,7 +125,13 @@ htsmsg_field_add(htsmsg_t *msg, const char *name, int type, int flags, size_t es
     assert(name != NULL);
   }
 
-  nsize = name ? htsmsg_malloc_align(type, strlen(name) + 1) : 0;
+  if (name) {
+    nsize = strlen(name);
+    assert(nsize < 256); /* limit for htsmsg_binary2 */
+    nsize = htsmsg_malloc_align(type, nsize + 1);
+  } else {
+    nsize = 0;
+  }
   f = malloc(sizeof(htsmsg_field_t) + nsize + esize);
   if (f == NULL)
     return NULL;