The length of the string was ignored, making it possible for the
conversion to fail due to extra characters in the string.

Signed-off-by: Sakari Ailus <sakari.ai...@linux.intel.com>
---
This patch should be applied before the set "[v4l-utils PATCH v2 0/3] List
supported formats in libv4l2subdev":

<URL:http://www.spinics.net/lists/linux-media/msg95377.html>

 utils/media-ctl/libv4l2subdev.c | 10 ++++------
 1 file changed, 4 insertions(+), 6 deletions(-)

diff --git a/utils/media-ctl/libv4l2subdev.c b/utils/media-ctl/libv4l2subdev.c
index 33c1ee6..cce527d 100644
--- a/utils/media-ctl/libv4l2subdev.c
+++ b/utils/media-ctl/libv4l2subdev.c
@@ -769,14 +769,12 @@ enum v4l2_mbus_pixelcode 
v4l2_subdev_string_to_pixelcode(const char *string,
        unsigned int i;
 
        for (i = 0; i < ARRAY_SIZE(mbus_formats); ++i) {
-               if (strncmp(mbus_formats[i].name, string, length) == 0)
-                       break;
+               if (strncmp(mbus_formats[i].name, string, length) == 0
+                   && strlen(mbus_formats[i].name) == length)
+                       return mbus_formats[i].code;
        }
 
-       if (i == ARRAY_SIZE(mbus_formats))
-               return (enum v4l2_mbus_pixelcode)-1;
-
-       return mbus_formats[i].code;
+       return (enum v4l2_mbus_pixelcode)-1;
 }
 
 static struct {
-- 
2.1.0.231.g7484e3b

--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to