Author: Stan Eisenstat
Subject: Re: [Cs223] Valgrind error
Date: Thursday, 16 Apr 2020, 07:33:09
> Message Posted By: Unknown
>
> I receive the following Valgrind error when trying to run ./Nine20 2 2 100
> -123 123-
>
> ==3154== Command: ./Nine20 2 2 100 -123 123-
> ==3154==
> ==3154== Conditional jump or move depends on uninitialised value(s)
> ==3154== at 0x483BBE9: strlen (vg_replace_strmem.c:461)
> ==3154== by 0x4017A3: main (Nine20.c:143)
>
> For context, these are the relevant lines of code
>
> // remove the position P at the head of the queue
> char *p;
> remD(&d, &p);
> searchH(h, p, &reached_from, &n);
> int p_len = strlen(p);
>
> I'm calculating p_len so that I can iterate over the characters of p to
> find out where '-' is.
The error message suggests that p is uninitialized, which
means that remD() did not give it a value. But this is
not possible if the Deque d was created and remD() was
implemented correctly since remD() would set p = NULL in
that case.
Without being able to see and run your code, I cannot
diagnose the problem further.
--Stan-
PREV
INDEX
NEXT