diff --git a/session.c b/session.c index a3d470affdc3367325399b32cc82ac17e13e5022..6f06e74afc2c1c8a2b727c3e876c89281223a13b 100644 --- a/session.c +++ b/session.c @@ -842,10 +842,14 @@ rpc_login_test_login(struct uci_context *uci, struct uci_element *e; struct uci_ptr ptr = { .package = "rpcd" }; - uci_load(uci, ptr.package, &p); + p = uci_lookup_package(uci, ptr.package); - if (!p) - return false; + if (!p) { + uci_load(uci, ptr.package, &p); + + if (!p) + return NULL; + } uci_foreach_element(&p->sections, e) {