Valgrind сообщает о следующей ошибке memcheck внутри функции strchr
==5801== Conditional jump or move depends on uninitialised value(s)
==5801== at 0x34BB32865A: __strchr_sse42 (in /lib64/libc-2.12.so)
Я связал gdb с valgrind для возможного обхода кода strchr, но я не смог этого сделать.Все мои локальные переменные инициализированы, и программа работает просто отлично.Я не понимаю, откуда происходит ошибка valgrind
bool
Graph::CheckValues( cfgs_val_t & cfgs, const char * mval )
{
int matched = 1, av = -1, ev = -1; char * mv, * p1, * p2, * p3, * fn, * args;
cfgs_val_t::iterator iter; bool cfg_anyval = false;
mv = strdup( mval );
p1 = mv;
p2 = p1;
for( ; ; )
{
if( *p2 == '=' )
{
*p2 = '\0';
p3 = strchr( p1, '(' );
if( p3 != nullptr )
{
return true;
}
}
}
Мой код работает нормально, кроме ошибки valgrind