Project

General

Profile

Enhancement #750 » 0020-sanitize-a-bit-involved-size_t-cast-for-get_str_elem.patch

Loïc Gomez, 2022-01-10 19:28

View differences:

src/irc.c
int index = 0;
while ((c = strchr(cur, PASS_SEP))) {
long len = c - cur;
if (index < num) {
index++;
cur = c + 1;
continue;
}
if (c - cur < 1)
if (len < 1)
return NULL;
ret = bip_malloc(c - cur + 1);
memcpy(ret, cur, c - cur);
ret[c - cur] = 0;
// len always > 0
ret = bip_malloc((size_t)len + 1);
memcpy(ret, cur, (size_t)len);
ret[len] = 0;
return ret;
}
if (index == num) {
long len;
c = str + strlen(str);
if (c - cur < 1)
len = c - cur;
if (len < 1)
return NULL;
ret = bip_malloc(c - cur + 1);
memcpy(ret, cur, c - cur);
ret[c - cur] = 0;
ret = bip_malloc((size_t)len + 1);
memcpy(ret, cur, (size_t)len);
ret[len] = 0;
return ret;
}
return NULL;
(19-19/24)