This was an oversight, the caller of GetArm64ProcAddress does check for
a NULL return, but it would have crashed in the memcmp before getting
there.

Fixes: 2c5f25035d9f ("Cygwin: add find_fast_cwd_pointer_aarch64.")
Signed-off-by: Jeremy Drake <cyg...@jdrake.com>
---
 winsup/cygwin/aarch64/fastcwd.cc | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/winsup/cygwin/aarch64/fastcwd.cc b/winsup/cygwin/aarch64/fastcwd.cc
index a85c539817..e53afc0046 100644
--- a/winsup/cygwin/aarch64/fastcwd.cc
+++ b/winsup/cygwin/aarch64/fastcwd.cc
@@ -35,8 +35,8 @@ GetArm64ProcAddress (HMODULE hModule, LPCSTR procname)
 #else
 #error "Unhandled architecture for thunk detection"
 #endif
-  if (memcmp (proc, thunk, sizeof (thunk) - 1) == 0 ||
-     (sizeof(thunk2) && memcmp (proc, thunk2, sizeof (thunk2) - 1) == 0))
+  if (proc && (memcmp (proc, thunk, sizeof (thunk) - 1) == 0 ||
+       (sizeof(thunk2) && memcmp (proc, thunk2, sizeof (thunk2) - 1) == 0)))
     {
       proc += sizeof (thunk) - 1;
       proc += 4 + *(const int32_t *) proc;
-- 
2.48.1.windows.1

Reply via email to