Reading a value larger than int using atoi() results in the wrong value
on bigendian.
---
 tests/checkasm/checkasm.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/tests/checkasm/checkasm.c b/tests/checkasm/checkasm.c
index 86d3bab..5b4aa64 100644
--- a/tests/checkasm/checkasm.c
+++ b/tests/checkasm/checkasm.c
@@ -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);
 
-- 
2.9.2

_______________________________________________
libav-devel mailing list
libav-devel@libav.org
https://lists.libav.org/mailman/listinfo/libav-devel

Reply via email to