From: Frank Kardel Date: Sat, 24 Jun 2006 18:45:02 +0000 (+0000) Subject: ntpq_ops.c: X-Git-Tag: NTP_4_2_2P0_RC5~1^2 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=530ae05915aa1ea7b55eb8efce97778acd4ac184;p=thirdparty%2Fntp.git ntpq_ops.c: fix a type punned pointer issue reported by gcc 4 bk: 449d882eaCdCFSae0ZoROkL1s3ZO8w --- diff --git a/ntpq/ntpq_ops.c b/ntpq/ntpq_ops.c index 86dc85b59..de7ec8c6a 100644 --- a/ntpq/ntpq_ops.c +++ b/ntpq/ntpq_ops.c @@ -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);