i am having a probem with valgrind givin me an error saying “Access not within mapped region at address 0x8”. It then says “at 0x400606: append_linked_list (testing2.c:64) by 0x400563: main (testing2.c:32)”. Line 64 is list->tail->next = newNode;
, and line 32 is just calling the function which line 64 is in append_linked_list(list, (void *) argv[i]);
. When i run the program i just run it as “./testing this is a fairly short test string.”. Does anyone know why valgrind is giving me this error?
#include <stdlib.h> #include <stdio.h> #include <string.h> typedef struct Node { void *data; struct Node *next; struct Node *prev; } Node; typedef struct LinkedList { Node *head; Node *tail; } LinkedList; Node *initialise_node(void); LinkedList *initialise_linked_list(void); Node *append_linked_list(LinkedList *list, void *data); int main(int argc, char **argv) { LinkedList *list; int i; list = initialise_linked_list(); for(i = 1; i < argc; i++) { append_linked_list(list, (void *) argv[i]); } return 0; } Node *initialise_node(void) { Node *node; node = (Node *) malloc(sizeof(Node)); return node; } LinkedList *initialise_linked_list(void) { LinkedList *list; list = (LinkedList *) malloc(sizeof(LinkedList)); list->head = NULL; list->tail = NULL; return list; } Node *append_linked_list(LinkedList *list, void *data) {