(/home/sate/Testcases/c/cve/wireshark-1.2.0/epan/dissectors/packet-ipsec.c) |
| |
| 353 | | | get_full_ipv6_addr(char* ipv6_addr_expanded, char *ipv6_addr) |
| 354 | | | { |
| 355 | | | char suffix[IPSEC_STRLEN_IPV6 + 1]; |
| 356 | | | char prefix[IPSEC_STRLEN_IPV6 + 1]; |
| 357 | | | char *prefix_addr; |
| 358 | | | |
| 359 | | | int suffix_cpt = 0; |
| 360 | | | int suffix_len = 0; |
| 361 | | | int prefix_remaining = 0; |
| 362 | | | int prefix_len = 0; |
| 363 | | | int j = 0; |
| 364 | | | |
| 365 | | | |
| 366 | | | if((ipv6_addr == NULL) || (strcmp(ipv6_addr, "") == 0)) return -1; |
| 367 | | | if((strlen(ipv6_addr) == 1) && (ipv6_addr[0] == IPSEC_SA_WILDCARDS_ANY)) |
| 368 | | | { |
| 369 | | | for(j = 0; j <= IPSEC_STRLEN_IPV6; j++) |
Useless Assignment
This code assigns the variable the same value it already had. |
|
| 370 | | | { |
| 371 | | | ipv6_addr_expanded[j] = IPSEC_SA_WILDCARDS_ANY; |
| 372 | | | } |
| 373 | | | ipv6_addr_expanded[IPSEC_STRLEN_IPV6] = '\0'; |
| 374 | | | return 0; |
| 375 | | | } |
| 376 | | | |
| 377 | | | suffix_cpt = get_ipv6_suffix(suffix,ipv6_addr); |
| 378 | | | suffix_len = strlen(suffix); |
| 379 | | | |
| 380 | | | if(suffix_len < IPSEC_STRLEN_IPV6) |
| 381 | | | { |
| 382 | | | prefix_addr = ep_alloc(strlen(ipv6_addr) - suffix_cpt + 1); |
| 383 | | | memcpy(prefix_addr,ipv6_addr,strlen(ipv6_addr) - suffix_cpt); |
| 384 | | | prefix_addr[strlen(ipv6_addr) - suffix_cpt] = '\0'; |
| 385 | | | prefix_remaining = get_ipv6_suffix(prefix,prefix_addr); |
| 386 | | | prefix_len = strlen(prefix); |
| 387 | | | memcpy(ipv6_addr_expanded,prefix,prefix_len); |
| 388 | | | } |
| 389 | | | |
| 390 | | | |
| 391 | | | for(j = 0; j <= IPSEC_STRLEN_IPV6 - prefix_len - suffix_len; j++) |
| 392 | | | { |
| 393 | | | ipv6_addr_expanded[j + prefix_len] = '0'; |
| 394 | | | } |
| 395 | | | |
| 396 | | | memcpy(ipv6_addr_expanded + IPSEC_STRLEN_IPV6 - suffix_len, suffix,suffix_len + 1); |
| 397 | | | |
| 398 | | | if(suffix_len < IPSEC_STRLEN_IPV6) |
| 399 | | | return (prefix_len - prefix_remaining); |
| 400 | | | else |
| 401 | | | return strlen(ipv6_addr) - suffix_cpt; |
| 402 | | | } |
| |