From ace33ff2c18c732e7ac30c49d95f7c35e06d7cee Mon Sep 17 00:00:00 2001 From: Thomas Schmucker Date: Fri, 4 Sep 2020 09:16:44 +0200 Subject: fix: Prüfe, ob 'data' wirklich dereferenziert werden kann MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- stack.c | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) (limited to 'stack.c') diff --git a/stack.c b/stack.c index fa89974..775269d 100644 --- a/stack.c +++ b/stack.c @@ -1,7 +1,7 @@ /* Standard C */ +#include #include #include -#include /* Project */ #include "util.h" @@ -10,7 +10,7 @@ typedef int T; struct stack_item { struct stack_item *next; - T data; + T data; }; struct stack { @@ -31,7 +31,7 @@ stack_push(struct stack *stack, T data) if ( (new_item = malloc(sizeof(*new_item))) != NULL ) { new_item->data = data; new_item->next = stack->head; - stack->head = new_item; + stack->head = new_item; } else ERROR("out of memory"); @@ -42,7 +42,10 @@ stack_pop(struct stack *stack, T *data) { if ( stack->head != NULL ) { struct stack_item *next = stack->head->next; - *data = stack->head->data; + + if ( data != NULL ) { + *data = stack->head->data; + } free(stack->head); stack->head = next; @@ -93,6 +96,3 @@ main() return EXIT_SUCCESS; } - - - -- cgit v1.3