Show
Ignore:
Timestamp:
04/03/11 17:23:15 (2 years ago)
Author:
ahu
Message:

remove some further unaligned memory accesses in powerdns recursor

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • trunk/pdns/pdns/pdns_recursor.cc

    r2060 r2123  
    816816      ageDNSPacket(response, age); 
    817817      sendto(fd, response.c_str(), response.length(), 0, (struct sockaddr*) &fromaddr, fromaddr.getSocklen()); 
    818       if(response.length() >= sizeof(struct dnsheader)) 
    819         updateRcodeStats(((struct dnsheader*)response.c_str())->rcode); 
     818      if(response.length() >= sizeof(struct dnsheader)) { 
     819        struct dnsheader dh; 
     820        memcpy(&dh, response.c_str(), sizeof(dh)); 
     821        updateRcodeStats(dh.rcode); 
     822      } 
    820823      g_stats.avgLatencyUsec=(uint64_t)((1-0.0001)*g_stats.avgLatencyUsec + 0); // we assume 0 usec 
    821824      return 0;