title: Valgrind memcheck error inside strchr function
body: <p>Valgrind reports the following memcheck error inside teh strchr function</p>
  
  <pre><code>==5801== Conditional jump or move depends on uninitialised value(s)
  ==5801==    at 0x34BB32865A: __strchr_sse42 (in /lib64/libc-2.12.so)
  </code></pre>
  
  <p>I linked gdb to valgrind to possibly walk throught he strchr code, but I could not do that. All my local variables are initialized and the program works just fine. I do not understand where the valgrind error is coming from</p>
  
  <pre><code>bool 
  Graph::CheckValues( cfgs_val_t &amp; 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;
              }
       }
  }
  </code></pre>
  
  <p>My code works just fine, other than the valgrind error</p>