[commit] r12914 - freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su
Author: mikej Date: Fri Apr 3 18:04:42 2009 New Revision: 12914 Log: libsofiasip: fix buffer overrun (SFSIP-136) Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/su_uniqueid.c Modified: freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/su_uniqueid.c ============================================================================== --- freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/su_uniqueid.c (original) +++ freeswitch/trunk/libs/sofia-sip/libsofia-sip-ua/su/su_uniqueid.c Fri Apr 3 18:04:42 2009 @@ -212,8 +212,9 @@ #endif #endif +#define SIZEOF_NODE 6 static -void init_node(uint8_t node[6]) +void init_node(uint8_t node[SIZEOF_NODE]) { #if HAVE_GETIFADDRS && HAVE_SOCKADDR_LL struct ifaddrs *ifa, *results; @@ -234,7 +235,7 @@ continue; } - memcpy(node, sll->sll_addr, sizeof node); + memcpy(node, sll->sll_addr, SIZEOF_NODE); break; #endif @@ -247,16 +248,16 @@ } #endif - su_randmem(node, 6); + su_randmem(node, SIZEOF_NODE); node[0] |= 1; /* "multicast" address */ } -static unsigned char node[6]; +static unsigned char node[SIZEOF_NODE]; size_t su_node_identifier(void *address, size_t addrlen) { - if (addrlen > sizeof node) - addrlen = sizeof node; + if (addrlen > SIZEOF_NODE) + addrlen = SIZEOF_NODE; su_guid_generate(NULL); memcpy(address, node, addrlen);
participants (1)
-
FreeSWITCH SVN