Changeset 4654

Show
Ignore:
Timestamp:
11/14/08 11:30:26 (2 months ago)
Author:
martin
Message:

rta->rta_len is NOT the payload data length, use RTA_PAYLOAD(rta) instead!

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/src/charon/plugins/kernel_netlink/kernel_netlink_ipsec.c

    r4653 r4654  
    11471147    while(RTA_OK(rta, rtasize)) 
    11481148    { 
    1149         if (rta->rta_type == XFRMA_REPLAY_VAL) 
    1150         { 
    1151             memcpy(replay, RTA_DATA(rta), rta->rta_len); 
     1149        if (rta->rta_type == XFRMA_REPLAY_VAL && 
     1150            RTA_PAYLOAD(rta) == sizeof(struct xfrm_replay_state)) 
     1151        { 
     1152            memcpy(replay, RTA_DATA(rta), RTA_PAYLOAD(rta)); 
    11521153            free(out); 
    11531154            return SUCCESS;