From a65e7db533adb567b05859a574042b76e5912a6c Mon Sep 17 00:00:00 2001 From: Andreas Kling Date: Sat, 14 Nov 2020 11:23:39 +0100 Subject: [PATCH] LibC: Fix OOB access in strerror() with invalid input Calling strerror() with a negative number should not access below the error string array. Found by running GCC in UE. :^) --- Libraries/LibC/string.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Libraries/LibC/string.cpp b/Libraries/LibC/string.cpp index 5bd872d4f8..56eadb2c26 100644 --- a/Libraries/LibC/string.cpp +++ b/Libraries/LibC/string.cpp @@ -372,7 +372,7 @@ int sys_nerr = EMAXERRNO; char* strerror(int errnum) { - if (errnum >= EMAXERRNO) { + if (errnum < 0 || errnum >= EMAXERRNO) { printf("strerror() missing string for errnum=%d\n", errnum); return const_cast("Unknown error"); }