Error: “Access not within mapped region at address” (Valgrind)

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

Leave a Comment