|
@@ -1,24 +1,26 @@
|
|
|
-From f7a4b79b3323534460a63b3e6c58ebaf06adf207 Mon Sep 17 00:00:00 2001
|
|
|
+From 4a10eab0e31d69948161241b1801c41201a5d081 Mon Sep 17 00:00:00 2001
|
|
|
From: Khem Raj <raj.khem@gmail.com>
|
|
|
-Date: Fri, 14 Jul 2017 13:20:05 -0700
|
|
|
-Subject: [PATCH] v4l2-ctl: Do not use getsubopt
|
|
|
+Date: Sat, 30 Nov 2019 18:50:34 -0800
|
|
|
+Subject: [PATCH] Do not use getsubopt
|
|
|
|
|
|
POSIX says that behavior when subopts list is empty is undefined.
|
|
|
musl libs will set value to NULL which leads to crash.
|
|
|
|
|
|
-Taken from AlpineLinux
|
|
|
+Simply avoid getsubopt, since we cannot rely on it.
|
|
|
|
|
|
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
|
+Imported from Alpine Linux
|
|
|
|
|
|
+Upstream-Status: Pending
|
|
|
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
|
---
|
|
|
- utils/v4l2-ctl/v4l2-ctl-common.cpp | 19 ++++++++++---------
|
|
|
- 1 file changed, 10 insertions(+), 9 deletions(-)
|
|
|
+ utils/v4l2-ctl/v4l2-ctl-common.cpp | 18 ++++++++++--------
|
|
|
+ 1 file changed, 10 insertions(+), 8 deletions(-)
|
|
|
|
|
|
diff --git a/utils/v4l2-ctl/v4l2-ctl-common.cpp b/utils/v4l2-ctl/v4l2-ctl-common.cpp
|
|
|
-index 3ea6cd3..291fb3e 100644
|
|
|
+index 651917e..cea57b7 100644
|
|
|
--- a/utils/v4l2-ctl/v4l2-ctl-common.cpp
|
|
|
+++ b/utils/v4l2-ctl/v4l2-ctl-common.cpp
|
|
|
-@@ -692,16 +692,17 @@ static bool parse_subset(char *optarg)
|
|
|
+@@ -782,15 +782,17 @@ static bool parse_subset(char *optarg)
|
|
|
|
|
|
static bool parse_next_subopt(char **subs, char **value)
|
|
|
{
|
|
@@ -31,8 +33,7 @@ index 3ea6cd3..291fb3e 100644
|
|
|
|
|
|
- if (opt < 0 || *value)
|
|
|
- return false;
|
|
|
-- fprintf(stderr, "No value given to suboption <%s>\n",
|
|
|
-- subopts[opt]);
|
|
|
+- fprintf(stderr, "Missing suboption value\n");
|
|
|
- return true;
|
|
|
+ while (*p && *p != ',')
|
|
|
+ p++;
|
|
@@ -44,4 +45,4 @@ index 3ea6cd3..291fb3e 100644
|
|
|
+ return false;
|
|
|
}
|
|
|
|
|
|
- void common_cmd(int ch, char *optarg)
|
|
|
+ void common_cmd(const std::string &media_bus_info, int ch, char *optarg)
|