зеркало из https://github.com/mozilla/gecko-dev.git
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:
Родитель
9f3cfec42d
Коммит
d14e19b063
|
@ -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 )
|
||||
|
|
Загрузка…
Ссылка в новой задаче