Enhancement #750 » 0018-sanitize-more-NULL-pointer-failsafes.patch
src/irc.c | ||
---|---|---|
93 | 93 |
char *ret; |
94 | 94 |
size_t len; |
95 | 95 | |
96 |
assert(mask); |
|
96 |
if (!mask) |
|
97 |
return NULL; |
|
97 | 98 | |
98 | 99 |
while (*nick && *nick != '!') |
99 | 100 |
nick++; |
... | ... | |
1379 | 1380 |
if (!l->origin) |
1380 | 1381 |
return 0; |
1381 | 1382 |
nick = nick_from_ircmask(l->origin); |
1383 |
if (!nick) |
|
1384 |
return 0; |
|
1382 | 1385 |
if (strcasecmp(nick, server->nick) == 0) { |
1383 | 1386 |
free(nick); |
1384 | 1387 |
return 1; |
... | ... | |
1415 | 1418 |
return ERR_PROTOCOL; |
1416 | 1419 | |
1417 | 1420 |
s_nick = nick_from_ircmask(line->origin); |
1421 |
// should not happen |
|
1422 |
if (!s_nick) |
|
1423 |
return ERR_PROTOCOL; |
|
1418 | 1424 |
hash_insert(&channel->ovmasks, s_nick, 0); |
1419 | 1425 |
free(s_nick); |
1420 | 1426 |
return OK_COPY; |
... | ... | |
1614 | 1620 |
if (!line->origin) |
1615 | 1621 |
return ERR_PROTOCOL; |
1616 | 1622 |
s_nick = nick_from_ircmask(line->origin); |
1623 |
// should not happen |
|
1624 |
if (!s_nick) |
|
1625 |
return ERR_PROTOCOL; |
|
1617 | 1626 |
if (!hash_includes(&channel->ovmasks, s_nick)) { |
1618 | 1627 |
free(s_nick); |
1619 | 1628 |
return ERR_PROTOCOL; |
... | ... | |
1897 | 1906 | |
1898 | 1907 |
char *nick; |
1899 | 1908 |
nick = nick_from_ircmask(line->origin); |
1909 |
// should not happen |
|
1910 |
if (!nick) |
|
1911 |
return; |
|
1900 | 1912 |
if (irc_line_elem_equals(line, 2, "\001VERSION\001")) { |
1901 | 1913 |
WRITE_LINE2(CONN(server), NULL, "NOTICE", nick, |
1902 | 1914 |
"\001VERSION bip-" PACKAGE_VERSION "\001"); |
... | ... | |
1944 | 1956 |
return ERR_PROTOCOL; |
1945 | 1957 | |
1946 | 1958 |
org_nick = nick_from_ircmask(line->origin); |
1959 |
// should not happen |
|
1960 |
if (!org_nick) |
|
1961 |
return ERR_PROTOCOL; |
|
1947 | 1962 |
dst_nick = irc_line_elem(line, 1); |
1948 | 1963 | |
1949 | 1964 |
for (hash_it_init(&server->channels, &hi); hash_it_item(&hi); |
... | ... | |
1983 | 1998 |
if (!line->origin) |
1984 | 1999 |
return ERR_PROTOCOL; |
1985 | 2000 |
s_nick = nick_from_ircmask(line->origin); |
2001 |
// should not happen |
|
2002 |
if (!s_nick) |
|
2003 |
return ERR_PROTOCOL; |
|
1986 | 2004 |
for (hash_it_init(&server->channels, &hi); hash_it_item(&hi); |
1987 | 2005 |
hash_it_next(&hi)) { |
1988 | 2006 |
channel = hash_it_item(&hi); |
1989 |
- |