X-Git-Url: http://git.archive.openwrt.org/?p=project%2Fuci.git;a=blobdiff_plain;f=util.c;h=7f37e882fc5348bc1254de3a87f6473d95d2f485;hp=d5bcd8a7b99a05a1c9a16e575e37dfca6fcc4c0a;hb=289e14f9fa5472589b85bdae102aece71d858ecd;hpb=87e893157980abef163575ad7aedbcc96c41b0c6 diff --git a/util.c b/util.c index d5bcd8a..7f37e88 100644 --- a/util.c +++ b/util.c @@ -120,6 +120,7 @@ static void uci_alloc_parse_context(struct uci_context *ctx) int uci_parse_ptr(struct uci_context *ctx, struct uci_ptr *ptr, char *str) { char *last = NULL; + char *tmp; UCI_HANDLE_ERR(ctx); UCI_ASSERT(ctx, str); @@ -153,6 +154,10 @@ int uci_parse_ptr(struct uci_context *ctx, struct uci_ptr *ptr, char *str) ptr->target = UCI_TYPE_OPTION; } + tmp = strsep(&str, "."); + if (tmp) + goto error; + lastval: if (ptr->package && !uci_validate_str(ptr->package, false)) goto error;