Project

General

Profile

Enhancement #750 » 0018-sanitize-more-NULL-pointer-failsafes.patch

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

View differences:

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
- 
(17-17/24)