diff options
| author | Alexander Couzens | 2024-08-13 11:11:25 +0000 |
|---|---|---|
| committer | David Bauer | 2025-05-31 20:41:00 +0000 |
| commit | 89033fe2eeaa1313a5de11946c8d8ec3bb83348d (patch) | |
| tree | 45d6343924283f06bbd7e16d3bae7def42b16cec | |
| parent | 7895c3215dc5a32acf991c49167eba4450161157 (diff) | |
| download | uqmi-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.c | 9 |
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]) { |