summaryrefslogtreecommitdiffhomepage
path: root/libs
diff options
context:
space:
mode:
Diffstat (limited to 'libs')
-rw-r--r--libs/luci-lib-jsonc/src/jsonc.c9
-rw-r--r--libs/luci-lib-nixio/src/address.c4
2 files changed, 8 insertions, 5 deletions
diff --git a/libs/luci-lib-jsonc/src/jsonc.c b/libs/luci-lib-jsonc/src/jsonc.c
index 49cb21f5bc..971fb122f7 100644
--- a/libs/luci-lib-jsonc/src/jsonc.c
+++ b/libs/luci-lib-jsonc/src/jsonc.c
@@ -222,7 +222,7 @@ static int _lua_test_array(lua_State *L, int index)
out:
lua_pop(L, 2);
- return 0;
+ return -1;
}
/* check for holes */
@@ -254,7 +254,7 @@ static struct json_object * _lua_to_json(lua_State *L, int index)
case LUA_TTABLE:
max = _lua_test_array(L, index);
- if (max > 0)
+ if (max >= 0)
{
obj = json_object_new_array();
@@ -286,8 +286,9 @@ static struct json_object * _lua_to_json(lua_State *L, int index)
lua_pushvalue(L, -2);
key = lua_tostring(L, -1);
- json_object_object_add(obj, key,
- _lua_to_json(L, lua_gettop(L) - 1));
+ if (key)
+ json_object_object_add(obj, key,
+ _lua_to_json(L, lua_gettop(L) - 1));
lua_pop(L, 2);
}
diff --git a/libs/luci-lib-nixio/src/address.c b/libs/luci-lib-nixio/src/address.c
index 4fd557d6a7..8ab4fa89c9 100644
--- a/libs/luci-lib-nixio/src/address.c
+++ b/libs/luci-lib-nixio/src/address.c
@@ -331,7 +331,9 @@ static int nixio_getnameinfo(lua_State *L) {
nixio__addr_write(&addr, (struct sockaddr *)&saddr);
- int res = getnameinfo((struct sockaddr *)&saddr, sizeof(saddr),
+ int res = getnameinfo((struct sockaddr *)&saddr,
+ (saddr.ss_family == AF_INET)
+ ? sizeof(struct sockaddr_in) : sizeof(struct sockaddr_in6),
host, sizeof(host), NULL, 0, NI_NAMEREQD);
#ifdef __linux__