diff options
author | Franziskus Kiefer <franziskuskiefer@gmail.com> | 2016-11-18 11:54:43 +0100 |
---|---|---|
committer | Franziskus Kiefer <franziskuskiefer@gmail.com> | 2016-11-18 11:54:43 +0100 |
commit | 2c70ebc3cd65660a30f044be35db9e2befa04db0 (patch) | |
tree | 1cc63110a35346a92530f13d9319e52d99764d5d | |
parent | 1ac32b94c7a09f4eea474a370d469a9224cfad4f (diff) | |
download | nss-hg-2c70ebc3cd65660a30f044be35db9e2befa04db0.tar.gz |
Bug 1309578 - fix null pointer in shlibsign, r=ttaubert
-rw-r--r-- | cmd/shlibsign/shlibsign.c | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/cmd/shlibsign/shlibsign.c b/cmd/shlibsign/shlibsign.c index 6e0a8a6dd..311fff368 100644 --- a/cmd/shlibsign/shlibsign.c +++ b/cmd/shlibsign/shlibsign.c @@ -870,8 +870,16 @@ main(int argc, char **argv) */ libname = PR_GetLibraryName(NULL, "softokn3"); assert(libname != NULL); + if (!libname) { + PR_fprintf(PR_STDERR, "getting softokn3 failed"); + goto cleanup; + } lib = PR_LoadLibrary(libname); assert(lib != NULL); + if (!lib) { + PR_fprintf(PR_STDERR, "loading softokn3 failed"); + goto cleanup; + } PR_FreeLibraryName(libname); if (FIPSMODE) { @@ -885,9 +893,17 @@ main(int argc, char **argv) PR_FindFunctionSymbol(lib, "C_GetFunctionList"); } assert(pC_GetFunctionList != NULL); + if (!pC_GetFunctionList) { + PR_fprintf(PR_STDERR, "getting function list failed"); + goto cleanup; + } crv = (*pC_GetFunctionList)(&pFunctionList); assert(crv == CKR_OK); + if (crv != CKR_OK) { + PR_fprintf(PR_STDERR, "loading function list failed"); + goto cleanup; + } if (configDir) { if (!dbPrefix) { |