mirror of
https://dev.iopsys.eu/bbf/bbfdm.git
synced 2025-12-10 07:44:39 +01:00
Fix segfault in json plugin
This commit is contained in:
parent
c9789e90d6
commit
0ef1ad0dd7
5 changed files with 33 additions and 3 deletions
1
.gitignore
vendored
1
.gitignore
vendored
|
|
@ -40,3 +40,4 @@ tools/__pycache__
|
|||
*.gcno
|
||||
*\.log
|
||||
.libs
|
||||
m4/
|
||||
|
|
|
|||
|
|
@ -702,7 +702,11 @@ static char *ubus_get_value(json_object *mapping_obj, int json_version, char *re
|
|||
}
|
||||
|
||||
json_object_object_get_ex(res, buf, &arr_obj);
|
||||
nbre_entries = (arr_obj) ? json_object_array_length(arr_obj) : 0;
|
||||
|
||||
if (arr_obj != NULL && json_object_is_type(arr_obj, json_type_array) == 1) {
|
||||
nbre_entries = json_object_array_length(arr_obj);
|
||||
}
|
||||
|
||||
dmasprintf(&value, "%d", nbre_entries);
|
||||
goto end;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -99,8 +99,10 @@ int main(int argc, char *argv[])
|
|||
}
|
||||
|
||||
ubus_ctx = ubus_connect(NULL);
|
||||
if (ubus_ctx == NULL)
|
||||
if (ubus_ctx == NULL) {
|
||||
fprintf(stderr, "Failed to connect with ubus\n");
|
||||
return -1;
|
||||
}
|
||||
|
||||
dm_config_ubus(ubus_ctx);
|
||||
|
||||
|
|
|
|||
|
|
@ -39,6 +39,28 @@
|
|||
}
|
||||
]
|
||||
},
|
||||
"MHubNumberOfEntries": {
|
||||
"type": "int",
|
||||
"version": "2.14",
|
||||
"protocols": [
|
||||
"cwmp",
|
||||
"usp"
|
||||
],
|
||||
"read": true,
|
||||
"write": false,
|
||||
"datatype": "int",
|
||||
"mapping": [
|
||||
{
|
||||
"type": "ubus",
|
||||
"ubus": {
|
||||
"object": "proxd",
|
||||
"method": "list",
|
||||
"args": {},
|
||||
"key": "numofdevices"
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
"Device.PD2.{i}.MiniHub.{i}.": {
|
||||
"type": "object",
|
||||
"version": "2.14",
|
||||
|
|
|
|||
|
|
@ -2,5 +2,6 @@
|
|||
"devices": [
|
||||
{ "name": "one"},
|
||||
{"name": "two"}
|
||||
]
|
||||
],
|
||||
"numofdevices": "1"
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue