diff options
author | Arora Aashish <arora.aashish@rocketmail.com> | 2021-02-24 16:09:46 +0000 |
---|---|---|
committer | Arora Aashish <arora.aashish@rocketmail.com> | 2021-02-24 16:09:46 +0000 |
commit | 683516508b55f93f6cbd0dc4357c47434ed6cd30 (patch) | |
tree | c86f7cb5ed290e272cc1c7f12b65d8670505b56d | |
parent | 771a5ceb2745a3fe0dbc96926a1aaa5176006100 (diff) | |
download | nss-hg-683516508b55f93f6cbd0dc4357c47434ed6cd30.tar.gz |
Bug 1685880 - Fix for the gcc compiler version 7 to support setenv with nss build. r=rrelyea
Differential Revision: https://phabricator.services.mozilla.com/D104418
-rw-r--r-- | lib/util/secport.c | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/lib/util/secport.c b/lib/util/secport.c index ae979ebad..7126492fc 100644 --- a/lib/util/secport.c +++ b/lib/util/secport.c @@ -740,8 +740,14 @@ NSS_PutEnv(const char *envVarName, const char *envValue) SET_ERROR_CODE return SECFailure; } -#endif - +#elif defined(__GNUC__) && __GNUC__ >= 7 + int setEnvFailed; + setEnvFailed = setenv(envVarName, envValue, 1); + if (setEnvFailed) { + SET_ERROR_CODE + return SECFailure; + } +#else encoded = (char *)PORT_ZAlloc(strlen(envVarName) + 2 + strlen(envValue)); if (!encoded) { return SECFailure; @@ -749,13 +755,14 @@ NSS_PutEnv(const char *envVarName, const char *envValue) strcpy(encoded, envVarName); strcat(encoded, "="); strcat(encoded, envValue); - putEnvFailed = putenv(encoded); /* adopt. */ + if (putEnvFailed) { SET_ERROR_CODE result = SECFailure; PORT_Free(encoded); } +#endif return result; } |