summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlexander Couzens2024-08-13 11:11:25 +0000
committerDavid Bauer2025-05-31 20:41:00 +0000
commit89033fe2eeaa1313a5de11946c8d8ec3bb83348d (patch)
tree45d6343924283f06bbd7e16d3bae7def42b16cec
parent7895c3215dc5a32acf991c49167eba4450161157 (diff)
downloaduqmi-89033fe2eeaa1313a5de11946c8d8ec3bb83348d.tar.gz
uqmid: ubus: check for empty strings for configure arguments
Allow to pass empty string as argument via ubus Signed-off-by: Alexander Couzens <lynxis@fe80.eu>
-rw-r--r--uqmid/ubus.c9
1 files changed, 7 insertions, 2 deletions
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]) {