From: Alexander Couzens Date: Tue, 13 Aug 2024 11:11:25 +0000 (+0200) Subject: uqmid: ubus: check for empty strings for configure arguments X-Git-Url: http://git.openwrt.org/?a=commitdiff_plain;h=89033fe2eeaa1313a5de11946c8d8ec3bb83348d;p=project%2Fuqmi.git uqmid: ubus: check for empty strings for configure arguments Allow to pass empty string as argument via ubus Signed-off-by: Alexander Couzens --- diff --git a/uqmid/ubus.c b/uqmid/ubus.c index 0443794..6a69579 100644 --- a/uqmid/ubus.c +++ b/uqmid/ubus.c @@ -247,6 +247,7 @@ static int modem_configure(struct ubus_context *ctx, struct ubus_object *obj, st { struct modem *modem = container_of(obj, struct modem, ubus); struct blob_attr *tb[__CFG_MAX]; + char *value; int ret; /* prevent mixing previous configure calls */ @@ -254,12 +255,16 @@ static int modem_configure(struct ubus_context *ctx, struct ubus_object *obj, st blobmsg_parse(modem_configure_policy, __CFG_MAX, tb, blob_data(msg), blob_len(msg)); if (tb[CFG_APN]) { TALLOC_FREE(modem->config.apn); - modem->config.apn = talloc_strdup(modem, blobmsg_get_string(tb[CFG_APN])); + value = blobmsg_get_string(tb[CFG_APN]); + if (value && strlen(value)) + modem->config.apn = talloc_strdup(modem, blobmsg_get_string(tb[CFG_APN])); } if (tb[CFG_PIN]) { TALLOC_FREE(modem->config.pin); - modem->config.pin = talloc_strdup(modem, blobmsg_get_string(tb[CFG_APN])); + value = blobmsg_get_string(tb[CFG_PIN]); + if (value && strlen(value)) + modem->config.pin = talloc_strdup(modem, blobmsg_get_string(tb[CFG_PIN])); } if (tb[CFG_ROAMING]) {