checkasm: Read the unsigned value as it should
authorLuca Barbato <lu_zero@gentoo.org>
Sat, 10 Sep 2016 23:14:37 +0000 (01:14 +0200)
committerLuca Barbato <lu_zero@gentoo.org>
Sun, 11 Sep 2016 12:12:18 +0000 (14:12 +0200)
Reading a value larger than int using atoi() may give the wrong result.

tests/checkasm/checkasm.c

index 86d3bab..5b4aa64 100644 (file)
@@ -477,7 +477,8 @@ static void print_cpu_name(void)
 
 int main(int argc, char *argv[])
 {
-    int i, seed, ret = 0;
+    unsigned int seed;
+    int i, ret = 0;
 
 #if ARCH_ARM && HAVE_ARMV5TE_EXTERNAL
     if (have_vfp(av_get_cpu_flags()) || have_neon(av_get_cpu_flags()))
@@ -504,7 +505,7 @@ int main(int argc, char *argv[])
         argv++;
     }
 
-    seed = (argc > 1) ? atoi(argv[1]) : av_get_random_seed();
+    seed = (argc > 1) ? strtoul(argv[1], NULL, 10) : av_get_random_seed();
     fprintf(stderr, "checkasm: using random seed %u\n", seed);
     av_lfg_init(&checkasm_lfg, seed);