Incorrect length

Return TypeFunction nameArguments
hzMD5&hzMD5::operator=(const char*,)

Declared in file: hzCodec.h
Defined in file : hzCodec.cpp

Function Logic:

0:START 1:m_Parts m_Parts m_Parts m_Parts 2:unknown 3:Return *this 4:unknown 5:unknown 6:val 7:unknown 8:* 9:val 10:*i>='A'&&*i<='F' 11:val * val 12:*i>='a'&&*i<='f' 13:val * val 14:unknown 15:m_Parts 16:unknown 17:m_Parts 18:m_Parts 19:m_Parts 20:m_Parts 21:Return *this

Function body:

hzMD5& hzMD5::operator= (const char* pMd5)
{
   const char* i ;     //  Input iterator
   uint64_t    val ;   //  Value of part
   uint32_t    x ;     //  Outer loop counter (MD5 parts)
   uint32_t    n ;     //  Inner loop counter (input bytes)
   m_Parts[0]= m_Parts[1]= m_Parts[2]= m_Parts[3]= 0;
   if (!pMd5 || pMd5[0]== 0)
       return *this ;
   for (x = 0; x < 4; x++)
   {
       for (val = 0,i = pMd5, n = 0; *i && n < 8; i++, n++)
       {
           val *= 16;
               if      (*i >&eq; ''0''&&*i <&eq; ''9'')  val += (*i - ''0'');
               else if (*i >&eq; ''A''&&*i <&eq; ''F'')  { val += 10;val += (*i - ''A'');}
               else if (*i >&eq; ''a''&&*i <&eq; ''f'')  { val += 10;val += (*i - ''a'');}
           else
               break ;
       }
       if (n < 8)
       {
           //  Incorrect length
           break ;
       }
       m_Parts[x] = val ;
   }
   if (x < 4)
       m_Parts[0]= m_Parts[1]= m_Parts[2]= m_Parts[3]= 0;
   return *this ;
}