]> git.ipfire.org Git - thirdparty/ntp.git/commitdiff
ntpq_ops.c:
authorFrank Kardel <kardel@ntp.org>
Sat, 24 Jun 2006 18:45:02 +0000 (18:45 +0000)
committerFrank Kardel <kardel@ntp.org>
Sat, 24 Jun 2006 18:45:02 +0000 (18:45 +0000)
  fix a type punned pointer issue reported by gcc 4

bk: 449d882eaCdCFSae0ZoROkL1s3ZO8w

ntpq/ntpq_ops.c

index 86dc85b59181a355a508a5faa0717bccc8a786fc..de7ec8c6ac1030b590d97f4b112c1df90088665d 100644 (file)
@@ -869,13 +869,13 @@ dogetassoc(
        FILE *fp
        )
 {
-       u_short *datap;
+       char *datap;
        int res;
        int dsize;
        u_short rstatus;
 
        res = doquery(CTL_OP_READSTAT, 0, 0, 0, (char *)0, &rstatus,
-                         &dsize, (char **)&datap);
+                         &dsize, &datap);
 
        if (res != 0)
                return 0;
@@ -898,10 +898,10 @@ dogetassoc(
 
        numassoc = 0;
        while (dsize > 0) {
-               assoc_cache[numassoc].assid = ntohs(*datap);
-               datap++;
-               assoc_cache[numassoc].status = ntohs(*datap);
-               datap++;
+               assoc_cache[numassoc].assid = ntohs(*((u_short *)datap));
+               datap += sizeof(u_short);
+               assoc_cache[numassoc].status = ntohs(*((u_short *)datap));
+               datap += sizeof(u_short);
                if (++numassoc >= MAXASSOC)
                        break;
                dsize -= sizeof(u_short) + sizeof(u_short);