From 0dbf8856942b2d3c2a8d5298f4361134c28ee359 Mon Sep 17 00:00:00 2001 From: Kai Engert Date: Mon, 23 Jul 2018 13:08:13 +0200 Subject: [PATCH] Bug 1474887, skip NSS shutdown in error path, r=rrelyea --- cmd/nss-policy-check/nss-policy-check.c | 9 +++++---- 1 file 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 6b4e2bdaf2..b83003874f 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 \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 @@ main(int argc, char **argv) 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) {