musl: fix getsubopt function
authorSteven Barth <cyrus@openwrt.org>
Tue, 18 Aug 2015 09:18:40 +0000 (09:18 +0000)
committerSteven Barth <cyrus@openwrt.org>
Tue, 18 Aug 2015 09:18:40 +0000 (09:18 +0000)
Signed-off-by: Steven Barth <steven@midlink.org>
SVN-Revision: 46684

toolchain/musl/patches/002-fix-getsubopt.patch [new file with mode: 0644]

diff --git a/toolchain/musl/patches/002-fix-getsubopt.patch b/toolchain/musl/patches/002-fix-getsubopt.patch
new file mode 100644 (file)
index 0000000..2fcd5f1
--- /dev/null
@@ -0,0 +1,29 @@
+From 2a502f995d041977f43f05556a3beba64df69858 Mon Sep 17 00:00:00 2001
+From: Steven Barth <cyrus@openwrt.org>
+Date: Tue, 18 Aug 2015 11:03:45 +0200
+Subject: [PATCH] getsubopt: don't include leading = in value string
+
+getsubopt incorrectly returns the delimiting = in the value string,
+this patch fixes it by increasing the pointer position by one.
+
+Signed-off-by: Steven Barth <cyrus@openwrt.org>
+---
+ src/misc/getsubopt.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/misc/getsubopt.c b/src/misc/getsubopt.c
+index dac9bf9..53ee957 100644
+--- a/src/misc/getsubopt.c
++++ b/src/misc/getsubopt.c
+@@ -15,7 +15,7 @@ int getsubopt(char **opt, char *const *keys, char **val)
+               size_t l = strlen(keys[i]);
+               if (strncmp(keys[i], s, l)) continue;
+               if (s[l] == '=')
+-                      *val = s + l;
++                      *val = s + l + 1;
+               else if (s[l]) continue;
+               return i;
+       }
+-- 
+2.1.4
+