summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDaniel Golle2021-08-04 14:55:14 +0000
committerDaniel Golle2021-08-04 14:55:14 +0000
commit736aee5ac80549bd7bb709281cc4f99485b9e1e9 (patch)
tree5678d3fadc75f9d216be9cafaa3be87f283131d6
parent78d5baa015105d4f1da9499a6bbb0364843083b1 (diff)
downloadprocd-736aee5ac80549bd7bb709281cc4f99485b9e1e9.tar.gz
uxc: always handle asprintf() return value
Error out in case asprintf() returns -1. Signed-off-by: Daniel Golle <daniel@makrotopia.org>
-rw-r--r--uxc.c14
1 files changed, 10 insertions, 4 deletions
diff --git a/uxc.c b/uxc.c
index 5b39e90..a1d7954 100644
--- a/uxc.c
+++ b/uxc.c
@@ -248,7 +248,9 @@ static void get_ocistate(struct blob_attr **ocistate, const char *name)
int ret;
*ocistate = NULL;
- asprintf(&objname, "container.%s", name);
+ if (asprintf(&objname, "container.%s", name) == -1)
+ exit(ENOMEM);
+
ret = ubus_lookup_id(ctx, objname, &id);
free(objname);
if (ret)
@@ -526,7 +528,9 @@ static int uxc_start(const char *name)
char *objname;
unsigned int id;
- asprintf(&objname, "container.%s", name);
+ if (asprintf(&objname, "container.%s", name) == -1)
+ return ENOMEM;
+
if (ubus_lookup_id(ctx, objname, &id))
return ENOENT;
@@ -567,7 +571,9 @@ static int uxc_kill(char *name, int signal)
blobmsg_add_u32(&req, "signal", signal);
blobmsg_add_string(&req, "name", name);
- asprintf(&objname, "container.%s", name);
+ if (asprintf(&objname, "container.%s", name) == -1)
+ return ENOMEM;
+
ret = ubus_lookup_id(ctx, objname, &id);
free(objname);
if (ret)
@@ -629,7 +635,7 @@ static int uxc_set(char *name, char *path, bool autostart, bool add, char *pidfi
if (ret && errno != EEXIST)
return ret;
- if (asprintf(&fname, "%s/%s.json", UXC_CONFDIR, name) < 1)
+ if (asprintf(&fname, "%s/%s.json", UXC_CONFDIR, name) == -1)
return ENOMEM;
f = open(fname, O_WRONLY | O_CREAT | O_TRUNC, 0644);