From eb09f3a3fde2efd79717b3e15488ca40988bc8b8 Mon Sep 17 00:00:00 2001 From: Jo-Philipp Wich Date: Thu, 15 Mar 2018 12:22:34 +0100 Subject: [PATCH] session: ignore non-string username attribute upon restore When restoring session information from blob data, only consider the embedded username attribute if it is a string value. Other types may cause invalid memory accesses when attempting to strcmp() the attribute value. Signed-off-by: Jo-Philipp Wich --- session.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/session.c b/session.c index 3bef025..3ed4519 100644 --- a/session.c +++ b/session.c @@ -1288,6 +1288,9 @@ rpc_session_from_blob(struct uci_context *uci, struct blob_attr *attr) blobmsg_for_each_attr(data, tb[RPC_DUMP_DATA], rem) { rpc_session_set(ses, data); + if (blobmsg_type(data) != BLOBMSG_TYPE_STRING) + continue; + if (!strcmp(blobmsg_name(data), "username")) user = blobmsg_get_string(data); } -- 2.11.0