[email protected]
[Top] [All Lists]

Bug#287960: marked as forwarded (putty: FTBFS (amd64/gcc-4.0): pointer t

Subject: Bug#287960: marked as forwarded putty: FTBFS (amd64/gcc-4.0): pointer targets in passing argument 2 of 'hmacmd5_key' differ in signedness
From: Debian Bug Tracking System
Date: Fri, 15 Jul 2005 03:18:16 -0700
Your message dated Fri, 15 Jul 2005 11:09:19 +0100
with message-id <[email protected]>
has caused the Debian Bug report #287960,
regarding putty: FTBFS (amd64/gcc-4.0): pointer targets in passing argument 2 
of 'hmacmd5_key' differ in signedness
to be marked as having been forwarded to the upstream software
author(s) [email protected]

(NB: If you are a system administrator and have no idea what I am
talking about this indicates a serious mail system misconfiguration
somewhere.  Please contact me immediately.)

Debian bug tracking system administrator
(administrator, Debian Bugs database)

---------------------------------------
Received: (at 287960-forwarded) by bugs.debian.org; 15 Jul 2005 10:09:22 +0000
>From [email protected] Fri Jul 15 03:09:22 2005
Return-path: <[email protected]>
Received: from mail.metronet.co.uk [213.162.97.75] 
        by spohr.debian.org with esmtp (Exim 3.35 1 (Debian))
        id 1DtN8E-0005de-00; Fri, 15 Jul 2005 03:09:22 -0700
Received: from riva.pelham.vpn.ucam.org 
(83-216-156-196.colinw664.adsl.metronet.co.uk [83.216.156.196])
        by smtp.metronet.co.uk (MetroNet Mail) with ESMTP
        id 873A740C08A; Fri, 15 Jul 2005 11:09:14 +0100 (BST)
Received: from cjwatson by riva.pelham.vpn.ucam.org with local (Exim 3.36 #1 
(Debian))
        id 1DtN8B-0008AU-00; Fri, 15 Jul 2005 11:09:19 +0100
Date: Fri, 15 Jul 2005 11:09:19 +0100
From: Colin Watson <[email protected]>
To: [email protected]
Cc: Andreas Jochens <[email protected]>, [email protected]
Subject: Re: Bug#287960: putty: FTBFS (amd64/gcc-4.0): pointer targets in 
passing argument 2 of 'hmacmd5_key' differ in signedness
Message-ID: <[email protected]>
References: <[email protected]> 
<[email protected]>
Mime-Version: 1.0
Content-Type: multipart/mixed; boundary="mP3DRpeJDSE+ciuQ"
Content-Disposition: inline
In-Reply-To: <[email protected]>
User-Agent: Mutt/1.5.9i
Delivered-To: [email protected]
X-Spam-Checker-Version: SpamAssassin 2.60-bugs.debian.org_2005_01_02 
        (1.212-2003-09-23-exp) on spohr.debian.org
X-Spam-Status: No, hits=-6.0 required=4.0 tests=BAYES_00,HAS_BUG_NUMBER 
        autolearn=no version=2.60-bugs.debian.org_2005_01_02
X-Spam-Level: 


--mP3DRpeJDSE+ciuQ
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline

On Sun, Apr 10, 2005 at 12:38:34PM +0100, Colin Watson wrote:
> On Mon, Feb 07, 2005 at 11:30:41AM +0000, Jacob Nevins wrote:
> > Some similar changes have been made in the upstream CVS code to keep the
> > Mac compiler happy. I haven't checked them against your proposals.
> 
> 0.58 still fails with the gcc-4.0 package in Ubuntu 5.04. Removing
> -Werror, I get a successful build and the following warnings:

The attached patch fixes all warnings with gcc-4.0 on Debian/powerpc
unstable. I'm applying a similar patch to the Debian package, since
we're now switching to gcc-4.0 as the default compiler.

Cheers,

-- 
Colin Watson                                       [[email protected]]

--mP3DRpeJDSE+ciuQ
Content-Type: text/plain; charset=us-ascii
Content-Disposition: attachment; filename="gcc-4.0.patch"

Index: sshzlib.c
===================================================================
--- sshzlib.c   (revision 6094)
+++ sshzlib.c   (working copy)
@@ -224,6 +224,7 @@
     }
     st->npending -= i;
 
+    defermatch.distance = 0; /* appease compiler */
     defermatch.len = 0;
     deferchr = '\0';
     while (len > 0) {
Index: ssh.c
===================================================================
--- ssh.c       (revision 6094)
+++ ssh.c       (working copy)
@@ -1497,7 +1497,7 @@
            break;
          case PKT_STR:
            argp = va_arg(ap, unsigned char *);
-           ssh_pkt_addstring(pkt, argp);
+           ssh_pkt_addstring(pkt, (char *)argp);
            break;
          case PKT_BIGNUM:
            bn = va_arg(ap, Bignum);
@@ -1643,7 +1643,7 @@
 static void ssh1_pkt_addmp(struct Packet *pkt, Bignum b)
 {
     int len = ssh1_bignum_length(b);
-    unsigned char *data = snewn(len, char);
+    unsigned char *data = snewn(len, unsigned char);
     (void) ssh1_write_bignum(data, b);
     ssh_pkt_adddata(pkt, data, len);
     sfree(data);
@@ -6944,11 +6944,8 @@
                 * First, offer the public blob to see if the server is
                 * willing to accept it.
                 */
-               pub_blob =
-                   (unsigned char *)ssh2_userkey_loadpub(&ssh->cfg.keyfile,
-                                                         &algorithm,
-                                                         &pub_blob_len,
-                                                         NULL);
+               pub_blob = ssh2_userkey_loadpub(&ssh->cfg.keyfile, &algorithm,
+                                               &pub_blob_len, NULL);
                if (pub_blob) {
                    s->pktout = ssh2_pkt_init(SSH2_MSG_USERAUTH_REQUEST);
                    ssh2_pkt_addstring(s->pktout, s->username);
Index: ssh.h
===================================================================
--- ssh.h       (revision 6094)
+++ ssh.h       (working copy)
@@ -371,8 +371,8 @@
 int ssh2_userkey_encrypted(const Filename *filename, char **comment);
 struct ssh2_userkey *ssh2_load_userkey(const Filename *filename,
                                       char *passphrase, const char **errorstr);
-char *ssh2_userkey_loadpub(const Filename *filename, char **algorithm,
-                          int *pub_blob_len, const char **errorstr);
+unsigned char *ssh2_userkey_loadpub(const Filename *filename, char **algorithm,
+                                   int *pub_blob_len, const char **errorstr);
 int ssh2_save_userkey(const Filename *filename, struct ssh2_userkey *key,
                      char *passphrase);
 const struct ssh_signkey *find_pubkey_alg(const char *name);
Index: unix/gtkwin.c
===================================================================
--- unix/gtkwin.c       (revision 6094)
+++ unix/gtkwin.c       (working copy)
@@ -1435,22 +1435,23 @@
  */
 void init_cutbuffers()
 {
+    unsigned char empty[] = "";
     XChangeProperty(GDK_DISPLAY(), GDK_ROOT_WINDOW(),
-                   XA_CUT_BUFFER0, XA_STRING, 8, PropModeAppend, "", 0);
+                   XA_CUT_BUFFER0, XA_STRING, 8, PropModeAppend, empty, 0);
     XChangeProperty(GDK_DISPLAY(), GDK_ROOT_WINDOW(),
-                   XA_CUT_BUFFER1, XA_STRING, 8, PropModeAppend, "", 0);
+                   XA_CUT_BUFFER1, XA_STRING, 8, PropModeAppend, empty, 0);
     XChangeProperty(GDK_DISPLAY(), GDK_ROOT_WINDOW(),
-                   XA_CUT_BUFFER2, XA_STRING, 8, PropModeAppend, "", 0);
+                   XA_CUT_BUFFER2, XA_STRING, 8, PropModeAppend, empty, 0);
     XChangeProperty(GDK_DISPLAY(), GDK_ROOT_WINDOW(),
-                   XA_CUT_BUFFER3, XA_STRING, 8, PropModeAppend, "", 0);
+                   XA_CUT_BUFFER3, XA_STRING, 8, PropModeAppend, empty, 0);
     XChangeProperty(GDK_DISPLAY(), GDK_ROOT_WINDOW(),
-                   XA_CUT_BUFFER4, XA_STRING, 8, PropModeAppend, "", 0);
+                   XA_CUT_BUFFER4, XA_STRING, 8, PropModeAppend, empty, 0);
     XChangeProperty(GDK_DISPLAY(), GDK_ROOT_WINDOW(),
-                   XA_CUT_BUFFER5, XA_STRING, 8, PropModeAppend, "", 0);
+                   XA_CUT_BUFFER5, XA_STRING, 8, PropModeAppend, empty, 0);
     XChangeProperty(GDK_DISPLAY(), GDK_ROOT_WINDOW(),
-                   XA_CUT_BUFFER6, XA_STRING, 8, PropModeAppend, "", 0);
+                   XA_CUT_BUFFER6, XA_STRING, 8, PropModeAppend, empty, 0);
     XChangeProperty(GDK_DISPLAY(), GDK_ROOT_WINDOW(),
-                   XA_CUT_BUFFER7, XA_STRING, 8, PropModeAppend, "", 0);
+                   XA_CUT_BUFFER7, XA_STRING, 8, PropModeAppend, empty, 0);
 }
 
 /* Store the data in a cut-buffer. */
@@ -1570,15 +1571,16 @@
     struct gui_data *inst = (struct gui_data *)data;
     if (seldata->target == utf8_string_atom)
        gtk_selection_data_set(seldata, seldata->target, 8,
-                              inst->pasteout_data_utf8,
+                              (unsigned char *)inst->pasteout_data_utf8,
                               inst->pasteout_data_utf8_len);
     else if (seldata->target == compound_text_atom)
        gtk_selection_data_set(seldata, seldata->target, 8,
-                              inst->pasteout_data_ctext,
+                              (unsigned char *)inst->pasteout_data_ctext,
                               inst->pasteout_data_ctext_len);
     else
        gtk_selection_data_set(seldata, seldata->target, 8,
-                              inst->pasteout_data, inst->pasteout_data_len);
+                              (unsigned char *)inst->pasteout_data,
+                              inst->pasteout_data_len);
 }
 
 gint selection_clear(GtkWidget *widget, GdkEventSelection *seldata,
@@ -2451,15 +2453,16 @@
            cfg->line_codepage[sizeof(cfg->line_codepage)-1] = '\0';
 
        } else if (!strcmp(p, "-geometry")) {
-           int flags, x, y, w, h;
+           int flags, x, y;
+           unsigned int w, h;
            EXPECTS_ARG;
            SECOND_PASS_ONLY;
 
            flags = XParseGeometry(val, &x, &y, &w, &h);
            if (flags & WidthValue)
-               cfg->width = w;
+               cfg->width = (int)w;
            if (flags & HeightValue)
-               cfg->height = h;
+               cfg->height = (int)h;
 
             if (flags & (XValue | YValue)) {
                 inst->xpos = x;
Index: unix/gtkdlg.c
===================================================================
--- unix/gtkdlg.c       (revision 6094)
+++ unix/gtkdlg.c       (working copy)
@@ -2605,7 +2605,7 @@
     struct eventlog_stuff *es = (struct eventlog_stuff *)data;
 
     gtk_selection_data_set(seldata, seldata->target, 8,
-                           es->seldata, es->sellen);
+                           (unsigned char *)es->seldata, es->sellen);
 }
 
 gint eventlog_selection_clear(GtkWidget *widget, GdkEventSelection *seldata,
Index: tree234.c
===================================================================
--- tree234.c   (revision 6094)
+++ tree234.c   (working copy)
@@ -136,6 +136,7 @@
        return orig_e;
     }
 
+    n = NULL;
     np = &t->root;
     while (*np) {
        int childnum;
Index: sshpubk.c
===================================================================
--- sshpubk.c   (revision 6094)
+++ sshpubk.c   (working copy)
@@ -865,8 +865,8 @@
     return ret;
 }
 
-char *ssh2_userkey_loadpub(const Filename *filename, char **algorithm,
-                          int *pub_blob_len, const char **errorstr)
+unsigned char *ssh2_userkey_loadpub(const Filename *filename, char **algorithm,
+                                   int *pub_blob_len, const char **errorstr)
 {
     FILE *fp;
     char header[40], *b;
@@ -931,7 +931,7 @@
        *pub_blob_len = public_blob_len;
     if (algorithm)
        *algorithm = alg->name;
-    return (char *)public_blob;
+    return public_blob;
 
     /*
      * Error processing.
Index: cmdgen.c
===================================================================
--- cmdgen.c    (revision 6094)
+++ cmdgen.c    (working copy)
@@ -224,7 +224,7 @@
     return TRUE;
 }
 
-static char *blobfp(char *alg, int bits, char *blob, int bloblen)
+static char *blobfp(char *alg, int bits, unsigned char *blob, int bloblen)
 {
     char buffer[128];
     unsigned char digest[16];
@@ -261,7 +261,8 @@
     int sshver = 0;
     struct ssh2_userkey *ssh2key = NULL;
     struct RSAKey *ssh1key = NULL;
-    char *ssh2blob = NULL, *ssh2alg = NULL;
+    unsigned char *ssh2blob = NULL;
+    char *ssh2alg = NULL;
     const struct ssh_signkey *ssh2algf = NULL;
     int ssh2bloblen;
     char *passphrase = NULL;
@@ -687,11 +688,11 @@
            ssh1key = snew(struct RSAKey);
            if (!load_encrypted) {
                void *vblob;
-               char *blob;
+               unsigned char *blob;
                int n, l, bloblen;
 
                ret = rsakey_pubblob(&infilename, &vblob, &bloblen, &error);
-               blob = (char *)vblob;
+               blob = (unsigned char *)vblob;
 
                n = 4;                 /* skip modulus bits */
                

--mP3DRpeJDSE+ciuQ--


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

<Prev in Thread] Current Thread [Next in Thread>
  • Bug#287960: marked as forwarded (putty: FTBFS (amd64/gcc-4.0): pointer targets in passing argument 2 of 'hmacmd5_key' differ in signedness), Debian Bug Tracking System <=