diff options
| author | Alvaro Herrera <alvherre@alvh.no-ip.org> | 2013-07-23 17:38:31 -0400 |
|---|---|---|
| committer | Alvaro Herrera <alvherre@alvh.no-ip.org> | 2013-07-23 17:38:31 -0400 |
| commit | f6a6d204fd33f89f3f472790b58a9992bce1358e (patch) | |
| tree | adb984608ec2132bb9cbc0a8df6f6e63b41a6ee1 /src/interfaces | |
| parent | 04836087aab1500754a1de16744c4fcf8d4f0c5b (diff) | |
Check for NULL result from strdup
Per Coverity Scan
Diffstat (limited to 'src/interfaces')
| -rw-r--r-- | src/interfaces/libpq/fe-secure.c | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/src/interfaces/libpq/fe-secure.c b/src/interfaces/libpq/fe-secure.c index 29936deb9d1..a3edbe63d74 100644 --- a/src/interfaces/libpq/fe-secure.c +++ b/src/interfaces/libpq/fe-secure.c @@ -1130,7 +1130,17 @@ initialize_SSL(PGconn *conn) { /* Colon, but not in second character, treat as engine:key */ char *engine_str = strdup(conn->sslkey); - char *engine_colon = strchr(engine_str, ':'); + char *engine_colon; + + if (engine_str == NULL) + { + printfPQExpBuffer(&conn->errorMessage, + libpq_gettext("out of memory\n")); + return -1; + } + + /* cannot return NULL because we already checked before strdup */ + engine_colon = strchr(engine_str, ':'); *engine_colon = '\0'; /* engine_str now has engine name */ engine_colon++; /* engine_colon now has key name */ |
