[Bug 193471] New: Mismatched variable type in md5(1) from getopt

bugzilla-noreply at freebsd.org bugzilla-noreply at freebsd.org
Mon Sep 8 21:51:48 UTC 2014


https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=193471

            Bug ID: 193471
           Summary: Mismatched variable type in md5(1) from getopt
           Product: Base System
           Version: 10.0-STABLE
          Hardware: Any
                OS: Any
            Status: Needs Triage
          Severity: Affects Only Me
          Priority: ---
         Component: bin
          Assignee: freebsd-bugs at FreeBSD.org
          Reporter: webpages at sprow.co.uk

The optarg from getopt(3) is defined as a char *, but md5 variable
'checkAgainst' is an unsigned type which leads to a warning on assignment and
later calls to strcmp (et al) when using a strict type check compiler.

Also, the variables may as well be static scope, as per the following patch
against SVN revision 238964 of /sbin/md5/md5.c

--- md5-238964.c    2014-09-08 22:45:27.0 +0100
+++ md5-new.c    2014-09-08 22:45:27.0 +0100
@@ -42,11 +42,11 @@
 #define TEST_BLOCK_COUNT 100000
 #define MDTESTCOUNT 8

-int qflag;
-int rflag;
-int sflag;
-unsigned char* checkAgainst;
-int    checksFailed;
+static int qflag;
+static int rflag;
+static int sflag;
+static char* checkAgainst;
+static int checksFailed;

 typedef void (DIGEST_Init)(void *);
 typedef void (DIGEST_Update)(void *, const unsigned char *, size_t);

-- 
You are receiving this mail because:
You are the assignee for the bug.


More information about the freebsd-bugs mailing list