From: Jo-Philipp Wich Date: Thu, 27 Feb 2020 21:25:59 +0000 (+0100) Subject: libubox: backport blobmsg_check_array() fix X-Git-Tag: v18.06.8~1 X-Git-Url: http://git.cdn.openwrt.org/?a=commitdiff_plain;h=82fbd857471292ca71dc06b05f11089962f33a4f;p=openwrt%2Fopenwrt.git libubox: backport blobmsg_check_array() fix Fixes: FS#2833 Signed-off-by: Jo-Philipp Wich (backported from commit 955634b473284847e3c8281a6ac85655329d8b06) --- diff --git a/package/libs/libubox/Makefile b/package/libs/libubox/Makefile index f5a1f12f22..e3a827c1ab 100644 --- a/package/libs/libubox/Makefile +++ b/package/libs/libubox/Makefile @@ -1,7 +1,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=libubox -PKG_RELEASE=3 +PKG_RELEASE=4 PKG_SOURCE_PROTO:=git PKG_SOURCE_URL=$(PROJECT_GIT)/project/libubox.git diff --git a/package/libs/libubox/patches/0017-blobmsg-fix-wrong-payload-len-passed-from-blobmsg_ch.patch b/package/libs/libubox/patches/0017-blobmsg-fix-wrong-payload-len-passed-from-blobmsg_ch.patch new file mode 100644 index 0000000000..f1a99e5081 --- /dev/null +++ b/package/libs/libubox/patches/0017-blobmsg-fix-wrong-payload-len-passed-from-blobmsg_ch.patch @@ -0,0 +1,33 @@ +From 75e300aeec25e032a9778bea34c713969960d1f0 Mon Sep 17 00:00:00 2001 +From: Chris Nisbet +Date: Wed, 12 Feb 2020 21:00:31 +1300 +Subject: [PATCH] blobmsg: fix wrong payload len passed from + blobmsg_check_array + +Fix incorrect use of blobmsg_len() on passed blobmsg to +blobmsg_check_array_len() introduced in commit 379cd33d1992 +("fix wrong payload len passed from blobmsg_check_array") by using correct +blob_len(). + +By using blobmsg_len() a value too small was passed to blobmsg_check_array() +which could lead to this function returning an error when there is none. + +Fixes: 379cd33d1992 ("fix wrong payload len passed from blobmsg_check_array") +Signed-off-by: Chris Nisbet +[add fixes tag, rewrap commit message] +Signed-off-by: Jo-Philipp Wich +--- + blobmsg.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +--- a/blobmsg.c ++++ b/blobmsg.c +@@ -120,7 +120,7 @@ bool blobmsg_check_attr_len(const struct + + int blobmsg_check_array(const struct blob_attr *attr, int type) + { +- return blobmsg_check_array_len(attr, type, blobmsg_len(attr)); ++ return blobmsg_check_array_len(attr, type, blob_len(attr)); + } + + int blobmsg_check_array_len(const struct blob_attr *attr, int type, size_t len)