fix segfault on import of anonymous sections
[project/uci.git] / file.c
diff --git a/file.c b/file.c
index 0530eb24b0055df24cd88c72f088288dd59b285d..3cd0133d6fc7ef1bd147e97882aa7e9d60e5bfc6 100644 (file)
--- a/file.c
+++ b/file.c
@@ -398,7 +398,7 @@ static void uci_parse_config(struct uci_context *ctx, char **str)
        name = next_arg(ctx, str, false, true);
        assert_eol(ctx, str);
 
-       if (!name) {
+       if (!name || !name[0]) {
                ctx->internal = !pctx->merge;
                UCI_NESTED(uci_add_section, ctx, pctx->package, type, &pctx->section);
        } else {
@@ -619,7 +619,7 @@ int uci_import(struct uci_context *ctx, FILE *stream, const char *name, struct u
        uci_alloc_parse_context(ctx);
        pctx = ctx->pctx;
        pctx->file = stream;
-       if (*package && single) {
+       if (package && *package && single) {
                pctx->package = *package;
                pctx->merge = true;
        }