Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(2)

Unified Diff: nss/mozilla/security/nss/lib/base/arena.c

Issue 3135002: Update to NSS 3.12.7 and NSPR 4.8.6.... (Closed) Base URL: svn://chrome-svn/chrome/trunk/deps/third_party/
Patch Set: Created 10 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: nss/mozilla/security/nss/lib/base/arena.c
===================================================================
--- nss/mozilla/security/nss/lib/base/arena.c (revision 55475)
+++ nss/mozilla/security/nss/lib/base/arena.c (working copy)
@@ -35,7 +35,7 @@
* ***** END LICENSE BLOCK ***** */
#ifdef DEBUG
-static const char CVS_ID[] = "@(#) $RCSfile: arena.c,v $ $Revision: 1.12 $ $Date: 2008/05/13 01:22:35 $";
+static const char CVS_ID[] = "@(#) $RCSfile: arena.c,v $ $Revision: 1.13 $ $Date: 2010/03/15 08:29:31 $";
#endif /* DEBUG */
/*
@@ -1026,6 +1026,7 @@
PRUint32 newSize
)
{
+ NSSArena *arena;
struct pointer_header *h, *new_h;
PRUint32 my_newSize = newSize + sizeof(struct pointer_header);
void *rv;
@@ -1051,7 +1052,8 @@
return pointer;
}
- if( (NSSArena *)NULL == h->arena ) {
+ arena = h->arena;
+ if (!arena) {
/* Heap */
new_h = (struct pointer_header *)PR_Calloc(1, my_newSize);
if( (struct pointer_header *)NULL == new_h ) {
@@ -1080,22 +1082,22 @@
void *p;
/* Arena */
#ifdef NSSDEBUG
- if( PR_SUCCESS != nssArena_verifyPointer(h->arena) ) {
+ if (PR_SUCCESS != nssArena_verifyPointer(arena)) {
return (void *)NULL;
}
#endif /* NSSDEBUG */
- if( (PRLock *)NULL == h->arena->lock ) {
+ if (!arena->lock) {
/* Just got destroyed.. so this pointer is invalid */
nss_SetError(NSS_ERROR_INVALID_POINTER);
return (void *)NULL;
}
- PR_Lock(h->arena->lock);
+ PR_Lock(arena->lock);
#ifdef ARENA_THREADMARK
- if( (PRThread *)NULL != h->arena->marking_thread ) {
- if( PR_GetCurrentThread() != h->arena->marking_thread ) {
- PR_Unlock(h->arena->lock);
+ if (arena->marking_thread) {
+ if (PR_GetCurrentThread() != arena->marking_thread) {
+ PR_Unlock(arena->lock);
nss_SetError(NSS_ERROR_ARENA_MARKED_BY_ANOTHER_THREAD);
return (void *)NULL;
}
@@ -1117,19 +1119,19 @@
*/
char *extra = &((char *)pointer)[ newSize ];
(void)nsslibc_memset(extra, 0, (h->size - newSize));
- PR_Unlock(h->arena->lock);
+ PR_Unlock(arena->lock);
return pointer;
}
- PR_ARENA_ALLOCATE(p, &h->arena->pool, my_newSize);
+ PR_ARENA_ALLOCATE(p, &arena->pool, my_newSize);
if( (void *)NULL == p ) {
- PR_Unlock(h->arena->lock);
+ PR_Unlock(arena->lock);
nss_SetError(NSS_ERROR_NO_MEMORY);
return (void *)NULL;
}
new_h = (struct pointer_header *)p;
- new_h->arena = h->arena;
+ new_h->arena = arena;
new_h->size = newSize;
rv = (void *)((char *)new_h + sizeof(struct pointer_header));
if (rv != pointer) {
@@ -1139,7 +1141,7 @@
(void)nsslibc_memset(&((char *)rv)[ h->size ], 0, (newSize - h->size));
h->arena = (NSSArena *)NULL;
h->size = 0;
- PR_Unlock(new_h->arena->lock);
+ PR_Unlock(arena->lock);
return rv;
}
/*NOTREACHED*/

Powered by Google App Engine
This is Rietveld 408576698