]> git.marmaro.de Git - mmh/commitdiff
Bug #20028 (Debian bug 399271): fix code assuming that pointer
authorPeter Maydell <pmaydell@chiark.greenend.org.uk>
Sat, 5 Apr 2008 18:41:37 +0000 (18:41 +0000)
committerPeter Maydell <pmaydell@chiark.greenend.org.uk>
Sat, 5 Apr 2008 18:41:37 +0000 (18:41 +0000)
differences were 32 bits -- thanks to Dean Gaudet for the patch.

13 files changed:
ChangeLog
sbr/fmt_scan.c
sbr/lock_file.c
sbr/m_backup.c
sbr/m_getfld.c
sbr/m_scratch.c
sbr/mf.c
sbr/path.c
uip/annosbr.c
uip/dropsbr.c
uip/mhbuildsbr.c
uip/mhparse.c
uip/slocal.c

index ffa4e93dc3fcbb8ed215352a15b8a55f35ef7446..4023e456ddf52333c3c4ac17cfe2b0fc105c51fc 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2008-04-05  Peter Maydell <pmaydell@chiark.greenend.org.uk>
+
+       * bug #20028 (Debian bug 399271): fix code assuming that pointer
+       differences were 32 bits -- thanks to Dean Gaudet for the patch.
+
 2008-01-25  Josh Bressers <josh@bress.net>
 
        * uip/mhshowsbr.c (show_all_messages): Be more generous when parsing
index c3d265a1f9638f92792ff2c46af40f15bcda314c..ca4020b073af9354ebb79d508f6c94a2817ff683 100644 (file)
@@ -288,7 +288,7 @@ get_x400_comp (char *mbox, char *key, char *buffer, int buffer_len)
            || !(cp = strchr(mbox += idx + strlen (key), '/')))
        return 0;
 
-    snprintf (buffer, buffer_len, "%*.*s", cp - mbox, cp - mbox, mbox);
+    snprintf (buffer, buffer_len, "%*.*s", (int)(cp - mbox), (int)(cp - mbox), mbox);
     return 1;
 }
 
index 65b8907976ccf08e74f4ffbb91c3df295edab953..866d047774cbd5d0540a8ef0f1f27cd9a6b3e971 100644 (file)
@@ -494,7 +494,7 @@ lockname (char *file, struct lockinfo *li, int isnewlock)
     bplen += tmplen;
 #else
     if (cp != file) {
-       snprintf (bp, sizeof(li->curlock), "%.*s", cp - file, file);
+       snprintf (bp, sizeof(li->curlock), "%.*s", (int)(cp - file), file);
        tmplen = strlen (bp);
        bp    += tmplen;
        bplen += tmplen;
@@ -526,7 +526,7 @@ lockname (char *file, struct lockinfo *li, int isnewlock)
            strncpy (li->tmplock, ",LCK.XXXXXX", sizeof(li->tmplock));
        else
            snprintf (li->tmplock, sizeof(li->tmplock), "%.*s,LCK.XXXXXX",
-                    cp - li->curlock, li->curlock);
+                    (int)(cp - li->curlock), li->curlock);
     }
 #endif
 }
index 86696db333517b069bd0de73b705d128178a2f47..9dcfdf602fe3e3846e32ec2e53a1a952a8a5c63a 100644 (file)
@@ -22,7 +22,7 @@ m_backup (char *file)
        snprintf(buffer, sizeof(buffer), "%s%s",
                BACKUP_PREFIX, cp);
     else
-       snprintf(buffer, sizeof(buffer), "%.*s%s%s", cp - file, file,
+       snprintf(buffer, sizeof(buffer), "%.*s%s%s", (int)(cp - file), file,
                BACKUP_PREFIX, cp);
 
     unlink(buffer);
index 6c15886900d723e1a69f26b382877303f99855c6..59b8682f222dd16d5b824d953c7cbbd08bfe5a15 100644 (file)
@@ -700,10 +700,10 @@ get_returnpath (char *rp, int rplen, char *dd, int ddlen)
     if (cp) {
        /* return path for UUCP style addressing */
        dp = strchr (++cp, '\n');
-       snprintf (rp, rplen, "%.*s!%.*s\n", dp - cp, cp, bp - ap, ap);
+       snprintf (rp, rplen, "%.*s!%.*s\n", (int)(dp - cp), cp, (int)(bp - ap), ap);
     } else {
        /* return path for standard domain addressing */
-       snprintf (rp, rplen, "%.*s\n", bp - ap, ap);
+       snprintf (rp, rplen, "%.*s\n", (int)(bp - ap), ap);
     }
 
     /*
index 30601f14698461805981cb066fcba38820895041..df635316ec95d7ac3374d55aac574560e16df292 100644 (file)
@@ -33,7 +33,7 @@ m_scratch (char *file, char *template)
     if ((cp = r1bindex (file, '/')) == file)
        strncpy (buffer, tmpfil, sizeof(buffer));
     else
-       snprintf (buffer, sizeof(buffer), "%.*s%s", cp - file, file, tmpfil);
+       snprintf (buffer, sizeof(buffer), "%.*s%s", (int)(cp - file), file, tmpfil);
     unlink (buffer);
 
     return buffer;
index 2559b678dbd18e6e3d2e786385d55d67c0658a0c..ac04c2969a7f0dd991de07a9c67f2c7f7c47f059 100644 (file)
--- a/sbr/mf.c
+++ b/sbr/mf.c
@@ -421,7 +421,7 @@ getadrx (char *addrs)
     while (isspace (*ap))
        ap++;
     if (cp)
-       sprintf (adr, "%.*s", cp - ap, ap);
+       sprintf (adr, "%.*s", (int)(cp - ap), ap);
     else
        strcpy (adr, ap);
     bp = adr + strlen (adr) - 1;
index 7475fa081b01113df129ef65af21979316aa68ab..7ef83eabd39d1ff8cac24ef7f4089041bac27c3b 100644 (file)
@@ -90,7 +90,7 @@ expath (char *name, int flag)
        name += NCWD;
 
     if (strcmp (name, DOTDOT) == 0 || strcmp (name, PWD) == 0) {
-       snprintf (buffer, sizeof(buffer), "%.*s", cp - pwds, pwds);
+       snprintf (buffer, sizeof(buffer), "%.*s", (int)(cp - pwds), pwds);
        return getcpy (buffer);
     }
 
@@ -99,7 +99,7 @@ expath (char *name, int flag)
     else
        cp = ep;
 
-    snprintf (buffer, sizeof(buffer), "%.*s/%s", cp - pwds, pwds, name);
+    snprintf (buffer, sizeof(buffer), "%.*s/%s", (int)(cp - pwds), pwds, name);
     return getcpy (buffer);
 }
 
index 2ad873eb626e5d7f219158c597bd13f56478a344..e8ef50ae209afa87e36002fbdd3879be3fba38f4 100644 (file)
@@ -381,7 +381,7 @@ annosbr (int fd, char *file, char *comp, char *text, int inplace, int datesw, in
                while (*cp && *cp++ != '\n')
                    continue;
                if (cp - sp)
-                   fprintf (tmp, "%s: %*.*s", comp, cp - sp, cp - sp, sp);
+                   fprintf (tmp, "%s: %*.*s", comp, (int)(cp - sp), (int)(cp - sp), sp);
            } while (*cp);
            if (cp[-1] != '\n' && cp != text)
                putc ('\n', tmp);
index 2b3d0208740bb0fe88692ff8290d6d82c96ace65..84435a2eb290cb1ed383ee5f13eecb4320f89583 100644 (file)
@@ -376,7 +376,7 @@ mbx_copy (char *mailbox, int mbx_style, int md, int fd,
                            fp = strchr(ep + 1, '\n');
                        tp = dctime(dlocaltimenow());
                        snprintf (buffer, sizeof(buffer), "From %.*s  %s",
-                               fp - ep, ep, tp);
+                               (int)(fp - ep), ep, tp);
                    } else if (!strncmp (buffer, "X-Envelope-From:", 16)) {
                        /*
                         * Change the "X-Envelope-From:" field
@@ -488,10 +488,10 @@ map_name (char *file)
     if ((dp = strchr(cp = r1bindex (file, '/'), '.')) == NULL)
        dp = cp + strlen (cp);
     if (cp == file)
-       snprintf (buffer, sizeof(buffer), ".%.*s%s", dp - cp, cp, ".map");
+       snprintf (buffer, sizeof(buffer), ".%.*s%s", (int)(dp - cp), cp, ".map");
     else
        snprintf (buffer, sizeof(buffer), "%.*s.%.*s%s",
-               cp - file, file, dp - cp, cp, ".map");
+               (int)(cp - file), file, (int)(dp - cp), cp, ".map");
 
     return buffer;
 }
index 041a14296df4e5481ca82203ae014979b8cf3d31..76866fe2f9b0552d9097381346d1382a3c676396 100644 (file)
@@ -4309,7 +4309,7 @@ invalid_digest:
            while (*cp)
                cp++;
            fprintf (stderr, "invalid MD5 digest (got %d octets)\n",
-                    cp - bp);
+                    (int)(cp - bp));
        }
 
        return NOTOK;
index a34814416f52e3000a7bc2d4eab49995362a4f43..4887d9a17988ce94b70c47a39e92d87ab808dcfd 100644 (file)
@@ -2684,7 +2684,7 @@ invalid_digest:
            while (*cp)
                cp++;
            fprintf (stderr, "invalid MD5 digest (got %d octets)\n",
-                    cp - bp);
+                    (int)(cp - bp));
        }
 
        return NOTOK;
index 1396cc29e850b285bc3098fbe7b73776c774337f..f500f6ea77676bd31fe4e0d08d54de5dd1d8aff9 100644 (file)
@@ -1361,11 +1361,11 @@ you_lose:
                    /* return path for UUCP style addressing */
                    ep = strchr(++hp, '\n');
                    snprintf (buffer, sizeof(buffer), "Return-Path: %.*s!%.*s\n",
-                       ep - hp, hp, cp - fp, fp);
+                       (int)(ep - hp), hp, (int)(cp - fp), fp);
                } else {
                    /* return path for standard domain addressing */
                    snprintf (buffer, sizeof(buffer), "Return-Path: %.*s\n",
-                       cp - fp, fp);
+                       (int)(cp - fp), fp);
                }
 
                /* Add Return-Path header to message */