Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
Check for NULL result from strdup
authorAlvaro Herrera <alvherre@alvh.no-ip.org>
Tue, 23 Jul 2013 21:38:31 +0000 (17:38 -0400)
committerAlvaro Herrera <alvherre@alvh.no-ip.org>
Tue, 23 Jul 2013 21:38:31 +0000 (17:38 -0400)
Per Coverity Scan

src/interfaces/libpq/fe-secure.c

index bb05a492968b44f219c0be723f43b5359de0cf49..95cf46651166de943eed6b96e4ac31b6fd4d48c2 100644 (file)
@@ -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 */