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)
{