From 4ddf5903fd24feaa6f75ffb12f9cafdd266b386a Mon Sep 17 00:00:00 2001 From: Arseniy Lartsev Date: Tue, 7 Jan 2020 16:34:39 +0100 Subject: [PATCH] Fixed crash on wine by adding NULL check after memchr This is not a joke, there are vendors out there who build software for cygwin only. Besides, this NULL check is good to have anyway. --- winsup/cygwin/path.cc | 2 ++ 1 file changed, 2 insertions(+) diff --git a/winsup/cygwin/path.cc b/winsup/cygwin/path.cc index b5efd61b2..c8e73c64c 100644 --- a/winsup/cygwin/path.cc +++ b/winsup/cygwin/path.cc @@ -4307,6 +4307,8 @@ find_fast_cwd_pointer () const uint8_t *use_cwd = rcall + 5 + offset; /* Find first `push %edi' instruction. */ const uint8_t *pushedi = (const uint8_t *) memchr (use_cwd, 0x57, 32); + if (!pushedi) + return NULL; /* ...which should be followed by `mov crit-sect-addr,%edi' then `push %edi', or by just a single `push crit-sect-addr'. */ const uint8_t *movedi = pushedi + 1;