unaligned memory access
authorMatthias Wachs <wachs@net.in.tum.de>
Tue, 4 Sep 2012 08:47:23 +0000 (08:47 +0000)
committerMatthias Wachs <wachs@net.in.tum.de>
Tue, 4 Sep 2012 08:47:23 +0000 (08:47 +0000)
src/gns/gnunet-service-gns_resolver.c
src/gns/test_gns_simple_lookup.conf

index cea423fc723f9972f74f212c0a11968a36d647bd..60e37e8ac97d22b91c101e40a4e9323a9d83a0e8 100644 (file)
@@ -1777,7 +1777,8 @@ resolve_record_dns (struct ResolverHandle *rh,
     }
     /* The glue */
     if (GNUNET_GNS_RECORD_A == rd[i].record_type)
-      dnsip = *((struct in_addr*)rd[i].data);
+         /* need to use memcpy as .data may be unaligned */
+        memcpy (&dnsip, rd[i].data, sizeof (dnsip));
   }
   
   GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
index c0017737b26510c8680050fa5bdbb7a18b1ee844..9bd0d6263c1cfb834d6f9e19c6260a8d3f107bf5 100644 (file)
@@ -72,7 +72,7 @@ AUTOSTART = YES
 DNS_EXIT = 8.8.8.8
 
 [gns]
-#PREFIX = valgrind -v --leak-check=full --track-origins=yes 
+PREFIX = valgrind --leak-check=full --track-origins=yes 
 AUTOSTART = YES
 BINARY = gnunet-service-gns
 ZONEKEY = zonefiles/test_zonekey