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