Bug 492464: Update NSPR to NSPR_4_8_RTM.

Fix bug 492779 and bug 493378.
This commit is contained in:
Wan-Teh Chang 2009-05-19 17:53:55 -07:00
parent 988cdb8565
commit 24171bf840
11 changed files with 17 additions and 8 deletions

View File

@ -42,4 +42,3 @@
*/
#error "Do not include this header file."

View File

@ -155,7 +155,13 @@ PL_Base64Encode
if( (char *)0 == dest )
{
PRUint32 destlen = ((srclen + 2)/3) * 4;
PRUint32 destlen;
/* Ensure all PRUint32 values stay within range. */
if( srclen > (PR_UINT32_MAX/4) * 3 )
{
return (char *)0;
}
destlen = ((srclen + 2)/3) * 4;
dest = (char *)PR_MALLOC(destlen + 1);
if( (char *)0 == dest )
{
@ -403,7 +409,9 @@ PL_Base64Decode
if( (char *)0 == dest )
{
PRUint32 destlen = ((srclen * 3) / 4);
/* The following computes ((srclen * 3) / 4) without overflow. */
PRUint32 rem = srclen % 4;
PRUint32 destlen = (srclen / 4) * 3 + (rem * 3) / 4;
dest = (char *)PR_MALLOC(destlen + 1);
if( (char *)0 == dest )
{

View File

@ -53,7 +53,7 @@ PL_strlen(const char *str)
* we don't have ultra long strings that overflow an int32
*/
if( sizeof(PRUint32) < sizeof(size_t) )
PR_ASSERT(l < 2147483647);
PR_ASSERT(l <= PR_INT32_MAX);
return (PRUint32)l;
}

0
nsprpub/pkg/solaris/SUNWprd/Makefile.in Normal file → Executable file
View File

0
nsprpub/pkg/solaris/SUNWprd/pkginfo.tmpl Normal file → Executable file
View File

View File

@ -72,8 +72,10 @@ typedef PRIntn intn;
*
* On AIX 4.3, sys/inttypes.h (which is included by sys/types.h)
* defines the types int8, int16, int32, and int64.
*
* On OS/2, sys/types.h defines uint.
*/
#ifdef XP_UNIX
#if defined(XP_UNIX) || defined(XP_OS2)
#include <sys/types.h>
#endif
@ -86,7 +88,7 @@ typedef PRIntn intn;
* uint
*/
#if !defined(XP_BEOS) && !defined(XP_UNIX) || defined(NTO)
#if !defined(XP_BEOS) && !defined(XP_OS2) && !defined(XP_UNIX) || defined(NTO)
typedef PRUintn uint;
#endif

View File

@ -63,11 +63,11 @@ PR_BEGIN_EXTERN_C
** The format of the version string is
** "<major version>.<minor version>[.<patch level>] [<Beta>]"
*/
#define PR_VERSION "4.8 Beta 2"
#define PR_VERSION "4.8"
#define PR_VMAJOR 4
#define PR_VMINOR 8
#define PR_VPATCH 0
#define PR_BETA PR_TRUE
#define PR_BETA PR_FALSE
/*
** PRVersionCheck

0
nsprpub/pr/include/prvrsion.h Normal file → Executable file
View File

0
nsprpub/pr/src/cplus/rcthread.cpp Normal file → Executable file
View File

0
nsprpub/pr/tests/poll_er.c Normal file → Executable file
View File

0
nsprpub/pr/tests/selct_er.c Normal file → Executable file
View File