Cast away warnings about "struct sockaddr" -> "struct sockaddr_XXX"
authorguy <guy@f5534014-38df-0310-8fa8-9805f1628bb7>
Fri, 22 Apr 2011 03:11:14 +0000 (03:11 +0000)
committerguy <guy@f5534014-38df-0310-8fa8-9805f1628bb7>
Fri, 22 Apr 2011 03:11:14 +0000 (03:11 +0000)
casts that are actually safe.

git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@36788 f5534014-38df-0310-8fa8-9805f1628bb7

wiretap/pcapng.c

index 10e5daf999846e8f0e59d443712383b095ffef05..5a10b65a585807791fb3232da9362380c5218f7f 100644 (file)
@@ -1828,7 +1828,11 @@ pcapng_write_name_resolution_block(wtap_dumper *wdh, pcapng_dump_t *pcapng, int
                        if (rec_off + tot_rec_len > NRES_REC_MAX_SIZE)
                                break;
 
-                       sa4 = (struct sockaddr_in *) ai->ai_addr;
+                       /*
+                        * The joys of BSD sockaddrs.  In practice, this
+                        * cast is alignment-safe.
+                        */
+                       sa4 = (struct sockaddr_in *)(void *)ai->ai_addr;
                        memcpy(rec_data + rec_off, &nrb, sizeof(nrb));
                        rec_off += 4;
 
@@ -1850,7 +1854,11 @@ pcapng_write_name_resolution_block(wtap_dumper *wdh, pcapng_dump_t *pcapng, int
                        if (rec_off + tot_rec_len > NRES_REC_MAX_SIZE)
                                break;
 
-                       sa6 = (struct sockaddr_in6 *) ai->ai_addr;
+                       /*
+                        * The joys of BSD sockaddrs.  In practice, this
+                        * cast is alignment-safe.
+                        */
+                       sa6 = (struct sockaddr_in6 *)(void *)ai->ai_addr;
                        memcpy(rec_data + rec_off, &nrb, sizeof(nrb));
                        rec_off += 4;