- Uses strnlen() instead of strlen()
Change-Id: I6339d45ae0d903a7a3e59c537f304362b8e09316
Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
* Implementation of keyval object
*/
+#define _GNU_SOURCE
#include <stdlib.h>
#include "keyval_type.h"
byte_size -= sz_keysize;
p += sz_keysize;
key = (char *)p;
- if ((strlen(key) + 1) != keysize)
- return 0;
if (byte_size < keysize)
return 0;
+ if (!key || (strnlen(key, keysize) + 1) != keysize)
+ return 0;
+
byte_size -= keysize;
p += keysize;
size = *((size_t *)p);
* Implementation of keyval_array object
*/
+#define _GNU_SOURCE
#include <stdlib.h>
#include <string.h>
byte_size -= sz_keysize;
p += sz_keysize;
key = (char *)p;
- if ((strlen(key) + 1) != keysize)
- return 0;
if (byte_size < keysize)
return 0;
+ if (!key || (strnlen(key, keysize) + 1) != keysize)
+ return 0;
+
byte_size -= keysize;
p += keysize;
len = *((unsigned int *)p);