On Fri, 2022-12-30 at 11:34 +0100, Gisle Vanem wrote: > I'm using the very latest GNU-make built on Win-10 by myself. > Except I've disabled the call to 'SetUnhandledExceptionFilter()'. > > In one particular Wine Makefile I get a crash in 'hash_free_items()': > gnumake!hash_free_items+0x22 > gnumake!hash_free+0x30 > gnumake!clear_directory_contents+0x34 > gnumake!find_directory+0xed > gnumake!dir_file_exists_p+0xd > gnumake!selective_vpath_search+0x239 > gnumake!vpath_search+0x9d > gnumake!pattern_search+0x1212 > ... > > This is when creating an .res-file from a .rc-file. > And I use this 'vpath %.rc obj' construct.
Can you try the following patch (after removing your change checking the value of "ctr") and see if it solves the problem? diff --git a/src/dir.c b/src/dir.c index 1e6e7397..7a884d28 100644 --- a/src/dir.c +++ b/src/dir.c @@ -283,7 +283,8 @@ clear_directory_contents (struct directory_contents *dc) closedir (dc->dirstream); dc->dirstream = 0; } - hash_free (&dc->dirfiles, 1); + if (dc->dirfiles.ht_vec != NULL) + hash_free (&dc->dirfiles, 1); return NULL; }