Enhancement #750 » 0020-sanitize-a-bit-involved-size_t-cast-for-get_str_elem.patch
src/irc.c | ||
---|---|---|
720 | 720 |
int index = 0; |
721 | 721 | |
722 | 722 |
while ((c = strchr(cur, PASS_SEP))) { |
723 |
long len = c - cur; |
|
723 | 724 |
if (index < num) { |
724 | 725 |
index++; |
725 | 726 |
cur = c + 1; |
726 | 727 |
continue; |
727 | 728 |
} |
728 |
if (c - cur < 1)
|
|
729 |
if (len < 1)
|
|
729 | 730 |
return NULL; |
730 |
ret = bip_malloc(c - cur + 1); |
|
731 |
memcpy(ret, cur, c - cur); |
|
732 |
ret[c - cur] = 0; |
|
731 |
// len always > 0 |
|
732 |
ret = bip_malloc((size_t)len + 1); |
|
733 |
memcpy(ret, cur, (size_t)len); |
|
734 |
ret[len] = 0; |
|
733 | 735 |
return ret; |
734 | 736 |
} |
735 | 737 |
if (index == num) { |
738 |
long len; |
|
736 | 739 |
c = str + strlen(str); |
737 |
if (c - cur < 1) |
|
740 |
len = c - cur; |
|
741 |
if (len < 1) |
|
738 | 742 |
return NULL; |
739 |
ret = bip_malloc(c - cur + 1);
|
|
740 |
memcpy(ret, cur, c - cur);
|
|
741 |
ret[c - cur] = 0;
|
|
743 |
ret = bip_malloc((size_t)len + 1);
|
|
744 |
memcpy(ret, cur, (size_t)len);
|
|
745 |
ret[len] = 0;
|
|
742 | 746 |
return ret; |
743 | 747 |
} |
744 | 748 |
return NULL; |
745 |
- |