Bug 188976: avoid calculating the difference of two unsigned integer if

the difference is really a negative number.  Thanks to Rick Swift for the
patch.
This commit is contained in:
wtc%netscape.com 2003-01-14 02:07:16 +00:00
Родитель 9f3cfec42d
Коммит d14e19b063
1 изменённых файлов: 4 добавлений и 2 удалений

Просмотреть файл

@ -57,13 +57,15 @@ PL_strrstr(const char *big, const char *little)
{
const char *p;
PRUint32 ll;
PRUint32 bl;
if( ((const char *)0 == big) || ((const char *)0 == little) ) return (char *)0;
if( ((char)0 == *big) || ((char)0 == *little) ) return (char *)0;
ll = PL_strlen(little);
p = &big[ PL_strlen(big) - ll ];
if( p < big ) return (char *)0;
bl = PL_strlen(big);
if( bl < ll ) return (char *)0;
p = &big[ bl - ll ];
for( ; p >= big; p-- )
if( *little == *p )