View | Details | Raw Unified | Return to bug 165355
Collapse All | Expand All

(-)src/libnet_checksum.c (-1 / +4 lines)
Lines 42-49 Link Here
42
libnet_in_cksum(u_int16_t *addr, int len)
42
libnet_in_cksum(u_int16_t *addr, int len)
43
{
43
{
44
    int sum;
44
    int sum;
45
    u_int16_t last_byte;
45
46
46
    sum = 0;
47
    sum = 0;
48
    last_byte = 0;
47
49
48
    while (len > 1)
50
    while (len > 1)
49
    {
51
    {
Lines 52-58 Link Here
52
    }
54
    }
53
    if (len == 1)
55
    if (len == 1)
54
    {
56
    {
55
        sum += *(u_int16_t *)addr;
57
        *(u_int8_t*)&last_byte = *(u_int8_t*)addr;
58
        sum += last_byte;
56
    }
59
    }
57
60
58
    return (sum);
61
    return (sum);

Return to bug 165355