diff --git a/src/backend/libpq/auth-scram.c b/src/backend/libpq/auth-scram.c index 03ddddc3c2..028ec16d0d 100644 --- a/src/backend/libpq/auth-scram.c +++ b/src/backend/libpq/auth-scram.c @@ -608,13 +608,13 @@ parse_scram_secret(const char *secret, int *iterations, * SCRAM-SHA-256$:$: */ v = pstrdup(secret); - if ((scheme_str = strsep(&v, "$")) == NULL) + if ((scheme_str = strsep(&v, "$")) == NULL || v == NULL ) goto invalid_secret; - if ((iterations_str = strsep(&v, ":")) == NULL) + if ((iterations_str = strsep(&v, ":")) == NULL || v == NULL) goto invalid_secret; - if ((salt_str = strsep(&v, "$")) == NULL) + if ((salt_str = strsep(&v, "$")) == NULL || v == NULL) goto invalid_secret; - if ((storedkey_str = strsep(&v, ":")) == NULL) + if ((storedkey_str = strsep(&v, ":")) == NULL || v == NULL) goto invalid_secret; serverkey_str = v;