Hello,

make(1) has a guard in shortened_curdir() so
Buf_Init() should only happen once. I think this is
desirable because Buf_Init() malloc's space and old storage
pointers could be overwritten.
The guard doesn't work as intended because 'first'
is always true.

- Michael


Index: job.c
===================================================================
RCS file: /cvs/src/usr.bin/make/job.c,v
retrieving revision 1.139
diff -u -p -u -r1.139 job.c
--- job.c       21 Jan 2017 12:35:40 -0000      1.139
+++ job.c       19 Dec 2017 08:02:28 -0000
@@ -220,7 +220,7 @@ static const char *
 shortened_curdir(void)
 {
        static BUFFER buf;
-       bool first = true;
+       static bool first = true;
        if (first) {
                Buf_Init(&buf, 0);
                buf_addcurdir(&buf);

Reply via email to