avcodec/xpmdec: make convert function more picky about its input
authorPaul B Mahol <onemda@gmail.com>
Sun, 12 Mar 2017 11:48:01 +0000 (12:48 +0100)
committerPaul B Mahol <onemda@gmail.com>
Sun, 12 Mar 2017 17:24:49 +0000 (18:24 +0100)
Signed-off-by: Paul B Mahol <onemda@gmail.com>
libavcodec/xpmdec.c

index 3f01a8f..8d5bc76 100644 (file)
@@ -185,15 +185,16 @@ static const ColorEntry color_table[] = {
     { "YellowGreen",          0xFF9ACD32 }
 };
 
-static int convert(uint8_t x)
+static unsigned convert(uint8_t x)
 {
-    if (x >= 'a') {
+    if (x >= 'a' && x <= 'f')
         x -= 87;
-    } else if (x >= 'A') {
+    else if (x >= 'A' && x <= 'F')
         x -= 55;
-    } else {
+    else if (x >= '0' && x <= '9')
         x -= '0';
-    }
+    else
+        x = 0;
     return x;
 }