summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKai Engert <kaie@kuix.de>2018-07-23 13:08:13 +0200
committerKai Engert <kaie@kuix.de>2018-07-23 13:08:13 +0200
commitd5b6600ef8310915398f2062c2a4ff793024fcad (patch)
treedc9ef55313af224531220463bcd036c7534e9948
parent6353307e1c57627c135f9ca44ba5fa4251f84574 (diff)
downloadnss-hg-d5b6600ef8310915398f2062c2a4ff793024fcad.tar.gz
Bug 1474887, skip NSS shutdown in error path, r=rrelyea
-rw-r--r--cmd/nss-policy-check/nss-policy-check.c9
1 files changed, 5 insertions, 4 deletions
diff --git a/cmd/nss-policy-check/nss-policy-check.c b/cmd/nss-policy-check/nss-policy-check.c
index 6b4e2bdaf..b83003874 100644
--- a/cmd/nss-policy-check/nss-policy-check.c
+++ b/cmd/nss-policy-check/nss-policy-check.c
@@ -85,7 +85,7 @@ main(int argc, char **argv)
if (argc != 2) {
fprintf(stderr, "Syntax: nss-policy-check <path-to-policy-file>\n");
result = 2;
- goto loser;
+ goto loser_no_shutdown;
}
fullPathLen = strlen(argv[1]);
@@ -93,13 +93,13 @@ main(int argc, char **argv)
if (!fullPathLen || PR_Access(argv[1], PR_ACCESS_READ_OK) != PR_SUCCESS) {
fprintf(stderr, "Error: cannot read file %s\n", argv[1]);
result = 2;
- goto loser;
+ goto loser_no_shutdown;
}
if (fullPathLen >= PATH_MAX) {
fprintf(stderr, "Error: filename parameter is too long\n");
result = 2;
- goto loser;
+ goto loser_no_shutdown;
}
path[0] = 0;
@@ -120,7 +120,7 @@ main(int argc, char **argv)
if (rv != SECSuccess) {
fprintf(stderr, "NSS_Init failed: %s\n", PORT_ErrorToString(PR_GetError()));
result = 2;
- goto loser;
+ goto loser_no_shutdown;
}
PR_SetEnv("NSS_POLICY_LOADED=0");
@@ -196,6 +196,7 @@ loser:
fprintf(stderr, "NSS_Shutdown failed: %s\n", PORT_ErrorToString(PR_GetError()));
result = 2;
}
+loser_no_shutdown:
if (result == 2) {
fprintf(stderr, "NSS-POLICY-FAIL\n");
} else if (result == 1) {