Fix possible out of array index access.
authorTatsuo Ishii <ishii@sraoss.co.jp>
Sun, 7 Jul 2019 13:58:35 +0000 (22:58 +0900)
committerTatsuo Ishii <ishii@sraoss.co.jp>
Sun, 7 Jul 2019 14:00:33 +0000 (23:00 +0900)
It was pointed out by Coverity that node_id could be -1.

src/main/pgpool_main.c

index 0b8742c36cb8f187b4e1f8de877a6972d3243c6b..f7591da2006da0de51bcf4361e2613fb389820f3 100644 (file)
@@ -2026,7 +2026,7 @@ static void failover(void)
                                /* only if the failover is against the current primary */
                                if (((reqkind == NODE_DOWN_REQUEST) &&
                                         (nodes[Req_info->primary_node_id])) ||
-                                       ((reqkind == PROMOTE_NODE_REQUEST) &&
+                                       (node_id >= 0 && (reqkind == PROMOTE_NODE_REQUEST) &&
                                         (VALID_BACKEND(node_id))))
                                {