Browse Source

treewide: check for NULL after uci_alloc_context() (#1224)

lemoer 6 years ago
parent
commit
4899dda4af

+ 2 - 0
package/gluon-autoupdater/src/respondd.c

@@ -36,6 +36,8 @@
 
 static struct json_object * get_autoupdater(void) {
 	struct uci_context *ctx = uci_alloc_context();
+	if (!ctx)
+		return NULL;
 	ctx->flags &= ~UCI_FLAG_STRICT;
 
 	struct uci_package *p;

+ 2 - 0
package/gluon-mesh-batman-adv/src/respondd.c

@@ -446,6 +446,8 @@ static void count_iface_stations(size_t *wifi24, size_t *wifi5, const char *ifna
 
 static void count_stations(size_t *wifi24, size_t *wifi5) {
 	struct uci_context *ctx = uci_alloc_context();
+	if (!ctx)
+		return;
 	ctx->flags &= ~UCI_FLAG_STRICT;
 
 

+ 5 - 1
package/gluon-mesh-vpn-fastd/src/respondd.c

@@ -77,6 +77,8 @@ static struct json_object * get_fastd(void) {
 	bool enabled = false;
 
 	struct uci_context *ctx = uci_alloc_context();
+	if (!ctx)
+		goto disabled_nofree;
 	ctx->flags &= ~UCI_FLAG_STRICT;
 
 	struct uci_package *p;
@@ -92,8 +94,8 @@ static struct json_object * get_fastd(void) {
 		enabled = true;
 
  disabled:
-
 	uci_free_context(ctx);
+ disabled_nofree:
 
 	struct json_object *ret = json_object_new_object();
 	json_object_object_add(ret, "version", get_fastd_version());
@@ -159,6 +161,8 @@ static struct json_object * get_status(void) {
 	struct json_object *ret = NULL;
 
 	struct uci_context *ctx = uci_alloc_context();
+	if (!ctx)
+		return NULL;
 	ctx->flags &= ~UCI_FLAG_STRICT;
 
 	struct uci_package *p;

+ 2 - 0
package/gluon-node-info/src/respondd.c

@@ -117,6 +117,8 @@ static struct json_object * respondd_provider_nodeinfo(void) {
 	struct json_object *ret = json_object_new_object();
 
 	struct uci_context *ctx = uci_alloc_context();
+	if (!ctx)
+		return ret;
 	ctx->flags &= ~UCI_FLAG_STRICT;
 
 	struct uci_package *p;

+ 2 - 0
package/gluon-respondd/src/respondd.c

@@ -70,6 +70,8 @@ static struct json_object * get_hostname(void) {
 	struct json_object *ret = NULL;
 
 	struct uci_context *ctx = uci_alloc_context();
+	if (!ctx)
+		return NULL;
 	ctx->flags &= ~UCI_FLAG_STRICT;
 
 	char section[] = "system.@system[0]";