Fix coding issue regarding shift operation.
authorTatsuo Ishii <ishii@postgresql.org>
Fri, 18 Jul 2025 05:45:42 +0000 (14:45 +0900)
committerTatsuo Ishii <ishii@postgresql.org>
Fri, 18 Jul 2025 05:45:42 +0000 (14:45 +0900)
Per Coverity.

src/protocol/pool_proto_modules.c

index 6fad3353cbac4a2a1a7b00dac15eae69dd121494..b4a7d238ce03f94f462fbbe1f98aeb961d5f2f0b 100644 (file)
@@ -3829,9 +3829,9 @@ pi_set(int node_id)
        ProcessInfo *pi = pool_get_my_process_info();
 
        if (node_id < BITS_PER_TYPE(uint64))
-               pi->node_ids[0] |= (1 << node_id);
+               pi->node_ids[0] |= ((uint64)1 << node_id);
        else
-               pi->node_ids[1] |= (1 << (node_id - BITS_PER_TYPE(uint64)));
+               pi->node_ids[1] |= ((uint64)1 << (node_id - BITS_PER_TYPE(uint64)));
 }
 
 /*
@@ -3843,9 +3843,9 @@ is_pi_set(uint64 *node_ids, int node_id)
        int                     set;
 
        if (node_id < BITS_PER_TYPE(uint64))
-               set = node_ids[0] & (1 << node_id);
+               set = node_ids[0] & ((uint64)1 << node_id);
        else
-               set = node_ids[1] & (1 << (node_id - BITS_PER_TYPE(uint64)));
+               set = node_ids[1] & ((uint64)1 << (node_id - BITS_PER_TYPE(uint64)));
        return set != 0;
 }