Fix WPS UPnP SSDP on 32-bit targets
authorJouni Malinen <jouni.malinen@atheros.com>
Thu, 26 Mar 2009 13:32:02 +0000 (15:32 +0200)
committerJouni Malinen <j@w1.fi>
Thu, 26 Mar 2009 13:32:02 +0000 (15:32 +0200)
The memcpy was using incorrect size (of pointer; should have been of
data structure) for the client address. This ended up working on 64-bit
targets, but left part of the address uninitialized on 32-bit targets.

src/wps/wps_upnp_ssdp.c

index 4931e51..47be476 100644 (file)
@@ -461,7 +461,7 @@ static void msearchreply_state_machine_start(struct upnp_wps_device_sm *sm,
        a->type = MSEARCH_REPLY;
        a->state = 0;
        a->sm = sm;
-       os_memcpy(&a->client, client, sizeof(client));
+       os_memcpy(&a->client, client, sizeof(*client));
        /* Wait time depending on MX value */
        next_timeout_msec = (1000 * mx * (os_random() & 0xFF)) >> 8;
        next_timeout_sec = next_timeout_msec / 1000;