diff options
author | Heikki Linnakangas <heikki.linnakangas@iki.fi> | 2017-05-07 19:58:21 +0300 |
---|---|---|
committer | Heikki Linnakangas <heikki.linnakangas@iki.fi> | 2017-05-07 19:58:21 +0300 |
commit | 0186ded5460c4868db8c5f98ab17287c15fedd7e (patch) | |
tree | 400d9e03db8e625eb3c4ed5ecb331e2a1f2c8ba4 /src/interfaces/libpq/fe-auth-scram.c | |
parent | a54d5875fe0bc19d05236b85e1e1bf0af9fa2902 (diff) |
Fix memory leaks if random salt generation fails.
In the backend, this is just to silence coverity warnings, but in the
frontend, it's a genuine leak, even if extremely rare.
Spotted by Coverity, patch by Michael Paquier.
Diffstat (limited to 'src/interfaces/libpq/fe-auth-scram.c')
-rw-r--r-- | src/interfaces/libpq/fe-auth-scram.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/src/interfaces/libpq/fe-auth-scram.c b/src/interfaces/libpq/fe-auth-scram.c index 4598774a963..d8a5bbc712a 100644 --- a/src/interfaces/libpq/fe-auth-scram.c +++ b/src/interfaces/libpq/fe-auth-scram.c @@ -638,7 +638,11 @@ pg_fe_scram_build_verifier(const char *password) /* Generate a random salt */ if (!pg_frontend_random(saltbuf, SCRAM_DEFAULT_SALT_LEN)) + { + if (prep_password) + free(prep_password); return NULL; + } result = scram_build_verifier(saltbuf, SCRAM_DEFAULT_SALT_LEN, SCRAM_DEFAULT_ITERATIONS, password); |