src/llist.c: Bail out early on negative indexes
Make sure we don't return bogus list elements if negative indexes are used in llist_{,find_}nth(). Bail out early and return NULL instead. Signed-off-by: Lukas Fleischer <calcurse@cryptocrack.de>
This commit is contained in:
parent
dfc98b5fa1
commit
f73f500559
@ -99,7 +99,10 @@ llist_nth (llist_t *l, int n)
|
||||
{
|
||||
llist_item_t *i;
|
||||
|
||||
for (i = l->head; i && n > 0; n--)
|
||||
if (n < 0)
|
||||
return NULL;
|
||||
|
||||
for (i = l->head; i && n != 0; n--)
|
||||
i = i->next;
|
||||
|
||||
return i;
|
||||
@ -267,6 +270,9 @@ llist_find_nth (llist_t *l, int n, long data, llist_fn_match_t fn_match)
|
||||
{
|
||||
llist_item_t *i;
|
||||
|
||||
if (n < 0)
|
||||
return NULL;
|
||||
|
||||
for (i = l->head; i; i = i->next)
|
||||
{
|
||||
if (fn_match (i->data, data) && (n-- == 0))
|
||||
|
Loading…
x
Reference in New Issue
Block a user