NetBSD-Bugs archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: bin/54574: usr.bin/make/parse.c $Id: 1.231 drops core on NetBSD-5.2 in realpath(3)
The following reply was made to PR toolchain/54574; it has been noted by GNATS.
From: Brian Buhrow <buhrow%nfbcal.org@localhost>
To: "Simon J. Gerraty" <sjg%juniper.net@localhost>
Cc: <gnats-bugs%netbsd.org@localhost>, <gnats-admin%netbsd.org@localhost>,
<netbsd-bugs%netbsd.org@localhost>, buhrow%nfbcal.org@localhost
Subject: Re: bin/54574: usr.bin/make/parse.c $Id: 1.231 drops core on NetBSD-5.2 in realpath(3)
Date: Thu, 26 Sep 2019 13:59:21 -0700
Hello Simon. The latest patch, V1.232 + your latest patch, works just
fine. I think you can commit that. Or, if you want, I can commit it.
-thanks
-Brian
On Sep 26, 12:57pm, "Simon J. Gerraty" wrote:
} Subject: Re: bin/54574: usr.bin/make/parse.c $Id: 1.231 drops core on NetB
} Brian Buhrow <buhrow%nfbcal.org@localhost> wrote:
}
} > hello. Here is the stack trace. I don't have debugging symbols in
} > the binaries, but this should give you an idea.
} > Let me know if you need anything else.
}
} Thanks.
} Odd. By the time vfprintf is called we are already done with reporting
} the makefile path.
}
} Oh never mind, we should not be attempting to free return from realpath.
} Can you please try the patch below.
}
} Index: parse.c
} ===================================================================
} RCS file: /cvsroot/src/usr.bin/make/parse.c,v
} retrieving revision 1.232
} diff -u -p -r1.232 parse.c
} --- parse.c 9 Apr 2019 18:28:10 -0000 1.232
} +++ parse.c 26 Sep 2019 19:55:44 -0000
} @@ -670,6 +670,7 @@ ParseVErrorInternal(FILE *f, const char
} const char *fmt, va_list ap)
} {
} static Boolean fatal_warning_error_printed = FALSE;
} + char dirbuf[MAXPATHLEN+1];
}
} (void)fprintf(f, "%s: ", progname);
}
} @@ -688,9 +689,7 @@ ParseVErrorInternal(FILE *f, const char
} if (dir == NULL)
} dir = ".";
} if (*dir != '/') {
} - dir = cp2 = realpath(dir, NULL);
} - free(cp);
} - cp = cp2; /* cp2 set to NULL by Var_Value */
} + dir = realpath(dir, dirbuf);
} }
} fname = Var_Value(".PARSEFILE", VAR_GLOBAL, &cp2);
} if (fname == NULL) {
>-- End of excerpt from "Simon J. Gerraty"
Home |
Main Index |
Thread Index |
Old Index