See Tcl bug #1786647 (https://sourceforge.net/tracker/index.php?func=detail&aid=1786647&group_id=10894&atid=110894)

Ian Jackson wrote:
Package: tcl8.4
Version: 8.4.15-1
Severity: important
Tags: patch

Seeing this warning
 
/work/AutomatedTesting-packages/build/tcl8.4-8.4.15/unix/../compat/memcmp.c:55: 
warning: dereferencing 'void *' pointer

I went to look at the file memcmp.c and found a buggy implementation
of memcmp!  It will always return 0 if the first two bytes are the
same.

The patch below should be applied immediately and probably sent
upstream too.

I don't know why it's building the compat/memcmp.c when we have a
perfectly good memcmp.

Regards,
Ian.

--- tcl8.4-8.4.15/compat/memcmp.c~      2007-01-22 23:27:53.000000000 +0000
+++ tcl8.4-8.4.15/compat/memcmp.c       2007-09-03 17:20:53.000000000 +0100
@@ -43,16 +43,16 @@
  */
int
-memcmp(s1, s2, n)
-    CONST VOID *s1;                    /* First string. */
-    CONST VOID *s2;                    /* Second string. */
+memcmp(s1_arg, s2_arg, n)
+    CONST VOID *s1_arg;                        /* First string. */
+    CONST VOID *s2_arg;                        /* Second string. */
     size_t      n;                      /* Length to compare. */
 {
-    CONST unsigned char *ptr1 = (CONST unsigned char *) s1;
-    CONST unsigned char *ptr2 = (CONST unsigned char *) s2;
+    CONST unsigned char *ptr1 = (CONST unsigned char *) s1_arg;
+    CONST unsigned char *ptr2 = (CONST unsigned char *) s2_arg;
for ( ; n-- ; ptr1++, ptr2++) {
-       unsigned char u1 = *s1, u2 = *s2;
+       unsigned char u1 = *ptr1, u2 = *ptr2;
if ( u1 != u2) {
            return (u1-u2);


_______________________________________________
Pkg-tcltk-devel mailing list
[EMAIL PROTECTED]
http://lists.alioth.debian.org/mailman/listinfo/pkg-tcltk-devel




--
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Reply via email to