diff --git a/utils/auc/Makefile b/utils/auc/Makefile index 4faf38bf9c..58e026a8d8 100644 --- a/utils/auc/Makefile +++ b/utils/auc/Makefile @@ -5,7 +5,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=auc -PKG_VERSION:=0.1.6 +PKG_VERSION:=0.1.7 PKG_RELEASE:=$(AUTORELEASE) PKG_LICENSE:=GPL-3.0 diff --git a/utils/auc/src/auc.c b/utils/auc/src/auc.c index 221b0b6ee5..ebda3eed8c 100644 --- a/utils/auc/src/auc.c +++ b/utils/auc/src/auc.c @@ -1251,11 +1251,25 @@ static int add_upg_packages(struct blob_attr *reply, char *arch) blobmsg_for_each_attr(cur, packages, rem) { avpk = malloc(sizeof(struct avl_pkg)); + if (!avpk) + return -ENOMEM; + avpk->name = strdup(blobmsg_name(cur)); + if (!avpk->name) + return -ENOMEM; + avpk->version = strdup(blobmsg_get_string(cur)); + if (!avpk->version) + return -ENOMEM; + avpk->avl.key = avpk->name; - if (!avpk->name || !avpk->version || avl_insert(&pkg_tree, &avpk->avl)) { - fprintf(stderr, "failed to insert package %s (%s)!\n", blobmsg_name(cur), blobmsg_get_string(cur)); + if (avl_insert(&pkg_tree, &avpk->avl)) { + +#ifdef AUC_DEBUG + if (debug) + fprintf(stderr, "failed to insert package %s (%s)!\n", blobmsg_name(cur), blobmsg_get_string(cur)); +#endif + if (avpk->name) free(avpk->name); @@ -1263,7 +1277,6 @@ static int add_upg_packages(struct blob_attr *reply, char *arch) free(avpk->version); free(avpk); - return -ENOMEM; } }