rx_identity_free sets the given identity to NULL, but it
unconditionally derefs the given identity. Make it a no-op for NULL
identities, to make related cleanup code and destructors simpler.
Change-Id: I863c72be71fb4b3056a2cd8fc2bf19cfb2d5dfbb
Reviewed-on: https://gerrit.openafs.org/13945
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
*/
void
-rx_identity_free(struct rx_identity **identity)
+rx_identity_free(struct rx_identity **a_identity)
{
- rx_identity_freeContents(*identity);
- rxi_Free(*identity, sizeof(struct rx_identity));
- *identity = NULL;
+ struct rx_identity *identity = *a_identity;
+ *a_identity = NULL;
+ if (identity == NULL) {
+ return;
+ }
+ rx_identity_freeContents(identity);
+ rxi_Free(identity, sizeof(*identity));
}