I use valgrind to validate my code and it reports “Conditional jump or move depends on uninitialised value(s)” in one of my functions, which takes an array of pointers as argument.
Now, how do I check if an array contains junk values (might be using conditional break point) during run-time? Say, I don’t access the pointer and hence the program doesn’t break.
What is the condition to be checked for to identify a junk pointer?
You don’t test for junk, you put non-junk values in the array at some point between the time you create the array, and the first time you consider using the values. Usually you do it when the array is created:
Valgrind uses its own tricks to identify what it thinks is junk, but those tricks are outside the scope of the standard, and regular C code can’t use them (or anyway shouldn’t try). Even if you could somehow hook into what valgrind does, you’d end up with code that doesn’t work on all implementations, or that only works when run under valgrind.