ITS#7783 workaround stupid NSPR bug

free(NULL) is supposed to be safe. "Portable wrapper libraries"
that fail to preserve this behavior are inherently broken.
But then again, this is Mozilla code, so that's redundant.
This commit is contained in:
Howard Chu 2014-01-12 13:43:55 -08:00
parent 752fdfd445
commit 14868fcab6

View File

@ -2066,8 +2066,10 @@ tlsm_ctx_free ( tls_ctx *ctx )
errcode, PR_ErrorToString( errcode, PR_LANGUAGE_I_DEFAULT ), 0 );
}
}
PL_strfree( c->tc_pin_file );
c->tc_pin_file = NULL;
if ( c->tc_pin_file ) {
PL_strfree( c->tc_pin_file );
c->tc_pin_file = NULL;
}
tlsm_free_pem_objs( c );
#ifdef HAVE_NSS_INITCONTEXT
if ( c->tc_initctx ) {
@ -2317,7 +2319,8 @@ tlsm_deferred_ctx_init( void *arg )
return rc;
}
} else {
PL_strfree( ctx->tc_pin_file );
if ( ctx->tc_pin_file )
PL_strfree( ctx->tc_pin_file );
ctx->tc_pin_file = PL_strdup( lt->lt_keyfile );
}
}