Date: Fri, 8 Jan 1999 03:18:04 -0500 (EST) From: "John W. DeBoskey" <jwd@unx.sas.com> To: freebsd-current@FreeBSD.ORG Cc: jkh@zippy.cdrom.com, freebsd-bugs@FreeBSD.ORG Subject: Bug in make affecting release crunchs Message-ID: <199901080818.DAA33723@bb01f39.unx.sas.com>
next in thread | raw e-mail | index | archive | help
Hi Folks, Jordan,
    I found the problem with the boot_crunch in make release..
    Basically, Parse_IsVar() in parse.c contains the following
code snippet:
        default:
#ifdef SUNSHCMD
            while (*opc != ':')
                if (--opc < line)
                    break;
   Well, this allows opc to end up pointing to the character
just prior to line... ie:  opc == 0807e2ff  line == 0807e300
   Then this code:
            if (strncmp(opc, ":sh", 3) == 0) {
                type = VAR_SHELL;
                *opc = '\0';
                break;  
            }
#endif
   ends up comparing true if that 1 character in front of the
variable line happens to be a ':' and we are trying to set the
variable named 'sh_SRCDIR'.  (What a bummer...)
   The simple fix (diff -u):
diff -u parse.c.orig parse.c
--- parse.c.orig        Sun May 31 02:23:33 1998
+++ parse.c     Fri Jan  8 03:05:23 1999
@@ -1412,8 +1412,10 @@
        default:
 #ifdef SUNSHCMD
            while (*opc != ':')
-               if (--opc < line)
+               if (--opc < line) {
+                   ++opc;
                    break;
+               }
 
            if (strncmp(opc, ":sh", 3) == 0) {
                type = VAR_SHELL;
   Would some nice committer please commit this?
Thanks!
John
To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-current" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199901080818.DAA33723>
