[newlib-cygwin] Cygwin: handle GetProcAddress returning NULL in GetArm64ProcAddress.

Jeremy Drake via Cygwin-cvs <[email protected]>
Newsgroups gmane.os.cygwin.cvs
Message-ID <[email protected]>
https://sourceware.org/git/gitweb.cgi?p=newlib-cygwin.git;h=d1b4302ac64395fccde445026ecb147029340930

commit d1b4302ac64395fccde445026ecb147029340930
Author: Jeremy Drake <[email protected]>
Date:   Wed Apr 2 12:55:57 2025 -0700

    Cygwin: handle GetProcAddress returning NULL in GetArm64ProcAddress.
    
    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 <[email protected]>

Diff:
---
 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 a85c53981..e53afc004 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;
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.