Messages in this thread Patch in this message | | | From | Joshua Clayton <> | Subject | [PATCH 5/8] Documentation/spi/spidev_test.c: check error | Date | Tue, 17 Nov 2015 07:24:25 -0800 |
| |
Check the result of sscanf to verify a result was found. report and error and abort if pattern was not found.
Signed-off-by: Joshua Clayton <stillcompiling@gmail.com> --- Documentation/spi/spidev_test.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/Documentation/spi/spidev_test.c b/Documentation/spi/spidev_test.c index 273f667..2ff5fe8 100644 --- a/Documentation/spi/spidev_test.c +++ b/Documentation/spi/spidev_test.c @@ -85,13 +85,17 @@ static void hex_dump(const void *src, size_t length, size_t line_size, char *pre static int unescape(char *_dst, char *_src, size_t len) { int ret = 0; + int match; char *src = _src; char *dst = _dst; unsigned int ch; while (*src) { if (*src == '\\' && *(src+1) == 'x') { - sscanf(src + 2, "%2x", &ch); + match = sscanf(src + 2, "%2x", &ch); + if (!match) + pabort("malformed input string"); + src += 4; *dst++ = (unsigned char)ch; } else { -- 2.5.0
| |