diff --git a/libbb/llist.c b/libbb/llist.c index 0d599db6b..842e8f7bb 100644 --- a/libbb/llist.c +++ b/libbb/llist.c @@ -5,6 +5,7 @@ * Copyright (C) 2003 Glenn McGrath * Copyright (C) 2005 Vladimir Oleynik * Copyright (C) 2005 Bernhard Fischer + * Copyright (C) 2006 Rob Landley * * Licensed under the GPL v2, see the file LICENSE in this tarball. */ @@ -57,8 +58,8 @@ void *llist_pop(llist_t **head) else { void *next = (*head)->link; data = (*head)->data; - *head = (*head)->link; - free(next); + free(*head); + *head = next; } return data;