1
0
mirror of https://github.com/weechat/weechat.git synced 2026-06-27 13:26:38 +02:00

core: check that infolist is not NULL in next/prev/reset_item_cursor functions

This commit is contained in:
Sébastien Helleu
2023-03-28 22:07:11 +02:00
parent 742871fd3e
commit 7c5d484f59
2 changed files with 13 additions and 0 deletions
+9
View File
@@ -314,6 +314,9 @@ infolist_new_var_time (struct t_infolist_item *item,
struct t_infolist_item *
infolist_next (struct t_infolist *infolist)
{
if (!infolist)
return NULL;
if (!infolist->ptr_item)
{
infolist->ptr_item = infolist->items;
@@ -332,6 +335,9 @@ infolist_next (struct t_infolist *infolist)
struct t_infolist_item *
infolist_prev (struct t_infolist *infolist)
{
if (!infolist)
return NULL;
if (!infolist->ptr_item)
{
infolist->ptr_item = infolist->last_item;
@@ -348,6 +354,9 @@ infolist_prev (struct t_infolist *infolist)
void
infolist_reset_item_cursor (struct t_infolist *infolist)
{
if (!infolist)
return;
infolist->ptr_item = NULL;
}
+4
View File
@@ -314,6 +314,10 @@ TEST(CoreInfolist, Move)
POINTERS_EQUAL(NULL, infolist->ptr_item);
infolist_next (NULL);
infolist_prev (NULL);
infolist_reset_item_cursor (NULL);
/* move to first item in infolist */
POINTERS_EQUAL(infolist->items, infolist_next (infolist));
POINTERS_EQUAL(infolist->items, infolist->ptr_item);