2004-04-16 Dmitry V. Levin * function.c (func_shell): When initializing error_prefix, check that reading file name is not null. This fixes long-standing segfault in cases like "make 'a1=$(shell :)' 'a2:=$(a1)'". --- make-3.81beta1/function.c.orig 2004-02-24 16:50:21 +0300 +++ make-3.81beta1/function.c 2004-04-16 13:52:03 +0400 @@ -1450,7 +1450,7 @@ func_shell (char *o, char **argv, const envp = environ; /* For error messages. */ - if (reading_file != 0) + if (reading_file && reading_file->filenm) { error_prefix = (char *) alloca (strlen (reading_file->filenm)+11+4); sprintf (error_prefix,