int len = 0;
bool var = false;
- blobmsg_alloc_string_buffer(&b, NULL, 1);
+ dest = blobmsg_alloc_string_buffer(&b, NULL, 1);
str = alloca(strlen(pattern) + 1);
strcpy(str, pattern);
next = str;
}
if (cur_len) {
- dest = blobmsg_realloc_string_buffer(&b, cur_len);
+ dest = blobmsg_realloc_string_buffer(&b, cur_len + 1);
memcpy(dest + len, cur, cur_len);
len += cur_len;
}
bool found;
int ret;
+ if (blobmsg_type(cur) != BLOBMSG_TYPE_ARRAY ||
+ blobmsg_type(blobmsg_data(cur)) != BLOBMSG_TYPE_STRING) {
+ rule_error(cur, "Unexpected element type");
+ return -1;
+ }
+
ret = __rule_process_type(cur, msg, cmd, ARRAY_SIZE(cmd), &found);
if (found)
return ret;
return NULL;
obj = json_object_from_file((char *) filename);
- if (!obj)
+ if (is_error(obj))
return NULL;
if (!json_object_is_type(obj, json_type_array)) {