1diff --git a/gfx/cairo/libpixman/src/pixman-cpu.c b/gfx/cairo/libpixman/src/pixman-cpu.c 2--- a/gfx/cairo/libpixman/src/pixman-cpu.c 3+++ b/gfx/cairo/libpixman/src/pixman-cpu.c 4@@ -257,19 +257,22 @@ pixman_arm_read_auxv() 5 arm_tests_initialized = TRUE; 6 return; 7 } 8 9 fread(buf, sizeof(char), 1024, f); 10 fclose(f); 11 pos = strstr(buf, ver_token); 12 if (pos) { 13- int ver = *(pos + strlen(ver_token)) - '0'; 14- arm_has_v7 = ver >= 7; 15- arm_has_v6 = ver >= 6; 16+ char vchar = *(pos + strlen(ver_token)); 17+ if (vchar >= '0' && vchar <= '9') { 18+ int ver = vchar - '0'; 19+ arm_has_v7 = ver >= 7; 20+ arm_has_v6 = ver >= 6; 21+ } 22 } 23 arm_has_neon = strstr(buf, "neon") != NULL; 24 arm_has_vfp = strstr(buf, "vfp") != NULL; 25 arm_has_iwmmxt = strstr(buf, "iwmmxt") != NULL; 26 arm_tests_initialized = TRUE; 27 } 28 29 #else 30