bin/142960: [patch] sysinstall comparison of cdrom.inf CD_VERSION against "any" is broken

G. Paul Ziemba p-fbsd-bugs at
Tue Jan 19 09:20:08 UTC 2010

>Number:         142960
>Category:       bin
>Synopsis:       [patch] sysinstall comparison of cdrom.inf CD_VERSION against "any" is broken
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-bugs
>State:          open
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Tue Jan 19 09:20:05 UTC 2010
>Originator:     G. Paul Ziemba
>Release:        8.0
FreeBSD 8.0-STABLE FreeBSD 8.0-STABLE #3: Sat Jan  9 08:56:12 PST 2010     root at  i386
setting CDROM_VERSION=any in cdrom.inf should silence sysinstall's complaints about mismatched versions, yet it doesn't. The problem is an incorrect use of variable_cmp() where strcmp should be:

--- cdrom.c.orig        2009-08-03 01:13:06.000000000 -0700
+++ cdrom.c     2010-01-19 01:05:33.000000000 -0800
@@ -142,7 +142,7 @@
        else {
            if (variable_cmp(VAR_RELNAME, cp) &&
                variable_cmp(VAR_RELNAME, "any") &&
-               variable_cmp(cp, "any") &&
+               strcmp(cp, "any") &&
                !bogusCDOK) {
                msgConfirm("Warning: The version of the FreeBSD disc currently in the drive\n"
                           "(%s) does not match the version of the boot floppy\n"

Make cdrom with install.cfg and cdrom.inf. Contents of cdrom.inf are:


Run sysinstall and attempt to load configuration file from CD. Sysinstall complains about version mismatch.
Change variable_cmp to strcmp in the line indicated in problem description.


More information about the freebsd-bugs mailing list