summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlvaro Herrera2013-07-23 21:38:32 +0000
committerAlvaro Herrera2013-07-23 21:38:32 +0000
commit980c24e1e80223ccd70e50d9d64c2b38cf50879e (patch)
tree67ddd76171ec32d90c570d1c59826ac2f90529ef
parent5fbc3130b3fe34ddd679ad5c91a4c9d4bc0b9691 (diff)
Check for NULL result from strdup
Per Coverity Scan
-rw-r--r--src/interfaces/libpq/fe-secure.c12
1 files changed, 11 insertions, 1 deletions
diff --git a/src/interfaces/libpq/fe-secure.c b/src/interfaces/libpq/fe-secure.c
index b1ad776a234..30182958a1d 100644
--- a/src/interfaces/libpq/fe-secure.c
+++ b/src/interfaces/libpq/fe-secure.c
@@ -1132,7 +1132,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 */