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

Side by Side Diff: nss/lib/libpkix/pkix_pl_nss/system/pkix_pl_object.c

Issue 1504923011: Update NSS to 3.21 RTM and NSPR to 4.11 RTM (Closed) Base URL: http://src.chromium.org/svn/trunk/deps/third_party/nss
Patch Set: Created 5 years 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 /* This Source Code Form is subject to the terms of the Mozilla Public 1 /* This Source Code Form is subject to the terms of the Mozilla Public
2 * License, v. 2.0. If a copy of the MPL was not distributed with this 2 * License, v. 2.0. If a copy of the MPL was not distributed with this
3 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ 3 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
4 /* 4 /*
5 * pkix_pl_object.c 5 * pkix_pl_object.c
6 * 6 *
7 * Object Construction, Destruction and Callback Functions 7 * Object Construction, Destruction and Callback Functions
8 * 8 *
9 */ 9 */
10 10
(...skipping 353 matching lines...) Expand 10 before | Expand all | Expand 10 after
364 */ 364 */
365 static PKIX_Error * 365 static PKIX_Error *
366 pkix_pl_Object_Hashcode_Default( 366 pkix_pl_Object_Hashcode_Default(
367 PKIX_PL_Object *object, 367 PKIX_PL_Object *object,
368 PKIX_UInt32 *pValue, 368 PKIX_UInt32 *pValue,
369 void *plContext) 369 void *plContext)
370 { 370 {
371 PKIX_ENTER(OBJECT, "pkix_pl_Object_Hashcode_Default"); 371 PKIX_ENTER(OBJECT, "pkix_pl_Object_Hashcode_Default");
372 PKIX_NULLCHECK_TWO(object, pValue); 372 PKIX_NULLCHECK_TWO(object, pValue);
373 373
374 *pValue = (PKIX_UInt32)object; 374 *pValue = (PKIX_UInt32)((char *)object - (char *)NULL);
375 375
376 PKIX_RETURN(OBJECT); 376 PKIX_RETURN(OBJECT);
377 } 377 }
378 378
379 /* 379 /*
380 * FUNCTION: pkix_pl_Object_RetrieveEqualsCallback 380 * FUNCTION: pkix_pl_Object_RetrieveEqualsCallback
381 * DESCRIPTION: 381 * DESCRIPTION:
382 * 382 *
383 * Retrieves Equals callback function of Object pointed to by "object and 383 * Retrieves Equals callback function of Object pointed to by "object and
384 * stores it at "pEqualsCallback". If the object's type is one of the system 384 * stores it at "pEqualsCallback". If the object's type is one of the system
(...skipping 208 matching lines...) Expand 10 before | Expand all | Expand 10 after
593 } 593 }
594 594
595 PKIX_OBJECT_DEBUG("\tShifting object pointer).\n"); 595 PKIX_OBJECT_DEBUG("\tShifting object pointer).\n");
596 596
597 597
598 /* Return a pointer to the user data. Need to offset by object size */ 598 /* Return a pointer to the user data. Need to offset by object size */
599 *pObject = object + 1; 599 *pObject = object + 1;
600 object = NULL; 600 object = NULL;
601 601
602 /* Atomically increment object counter */ 602 /* Atomically increment object counter */
603 PR_ATOMIC_INCREMENT(&ctEntry->objCounter); 603 PR_ATOMIC_INCREMENT((PRInt32*)&ctEntry->objCounter);
604 604
605 cleanup: 605 cleanup:
606 606
607 PKIX_FREE(object); 607 PKIX_FREE(object);
608 608
609 PKIX_RETURN(OBJECT); 609 PKIX_RETURN(OBJECT);
610 } 610 }
611 611
612 /* 612 /*
613 * FUNCTION: PKIX_PL_Object_IsTypeRegistered (see comments in pkix_pl_system.h) 613 * FUNCTION: PKIX_PL_Object_IsTypeRegistered (see comments in pkix_pl_system.h)
(...skipping 276 matching lines...) Expand 10 before | Expand all | Expand 10 after
890 /* Call destructor on user data if necessary */ 890 /* Call destructor on user data if necessary */
891 pkixErrorResult = destructor(object, plContext); 891 pkixErrorResult = destructor(object, plContext);
892 if (pkixErrorResult) { 892 if (pkixErrorResult) {
893 pkixErrorClass = PKIX_FATAL_ERROR; 893 pkixErrorClass = PKIX_FATAL_ERROR;
894 PKIX_DoAddError(stdVarsPtr, pkixErrorResult, plContext); 894 PKIX_DoAddError(stdVarsPtr, pkixErrorResult, plContext);
895 pkixErrorResult = NULL; 895 pkixErrorResult = NULL;
896 } 896 }
897 } 897 }
898 898
899 /* Atomically decrement object counter */ 899 /* Atomically decrement object counter */
900 PR_ATOMIC_DECREMENT(&ctEntry->objCounter); 900 PR_ATOMIC_DECREMENT((PRInt32*)&ctEntry->objCounter);
901 901
902 /* pkix_pl_Object_Destroy assumes the lock is held */ 902 /* pkix_pl_Object_Destroy assumes the lock is held */
903 /* It will call unlock and destroy the object */ 903 /* It will call unlock and destroy the object */
904 pkixErrorResult = pkix_pl_Object_Destroy(object, plContext); 904 pkixErrorResult = pkix_pl_Object_Destroy(object, plContext);
905 goto cleanup; 905 goto cleanup;
906 } 906 }
907 907
908 if (refCount < 0) { 908 if (refCount < 0) {
909 PKIX_ERROR_ALLOC_ERROR(); 909 PKIX_ERROR_ALLOC_ERROR();
910 } 910 }
(...skipping 520 matching lines...) Expand 10 before | Expand all | Expand 10 after
1431 /* Shift pointer from user data to object header */ 1431 /* Shift pointer from user data to object header */
1432 PKIX_CHECK(pkix_pl_Object_GetHeader(object, &objectHeader, plContext), 1432 PKIX_CHECK(pkix_pl_Object_GetHeader(object, &objectHeader, plContext),
1433 PKIX_RECEIVEDCORRUPTEDOBJECTARGUMENT); 1433 PKIX_RECEIVEDCORRUPTEDOBJECTARGUMENT);
1434 1434
1435 *pType = objectHeader->type; 1435 *pType = objectHeader->type;
1436 1436
1437 cleanup: 1437 cleanup:
1438 1438
1439 PKIX_RETURN(OBJECT); 1439 PKIX_RETURN(OBJECT);
1440 } 1440 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698