psxbios: more careful cnf parsing
authornotaz <notasas@gmail.com>
Sat, 30 Sep 2023 19:43:03 +0000 (22:43 +0300)
committernotaz <notasas@gmail.com>
Sat, 30 Sep 2023 19:44:52 +0000 (22:44 +0300)
libpcsxcore/misc.c

index da1dbea..d748ac0 100644 (file)
@@ -22,6 +22,7 @@
 */
 
 #include <stddef.h>
+#include <errno.h>
 #include <assert.h>
 #include "misc.h"
 #include "cdrom.h"
@@ -174,8 +175,13 @@ static void getFromCnf(char *buf, const char *key, u32 *val)
        buf = strstr(buf, key);
        if (buf)
                buf = strchr(buf, '=');
-       if (buf)
-               *val = strtol(buf + 1, NULL, 16);
+       if (buf) {
+               unsigned long v;
+               errno = 0;
+               v = strtoul(buf + 1, NULL, 16);
+               if (errno == 0)
+                       *val = v;
+       }
 }
 
 int LoadCdrom() {