Heikki Linnakangas <[email protected]> writes:
> Ok, I have pushed this. Thanks!

Coverity is unhappy about this bit:

/srv/coverity/git/pgsql-git/postgresql/src/bin/pg_upgrade/multixact_read_v18.c: 
282             in GetOldMultiXactIdSingleMember()
276             if (!TransactionIdIsValid(*xactptr))
277             {
278                 /*
279                  * Corner case 2: we are looking at unused slot zero
280                  */
281                 if (offset == 0)
>>>     CID 1676077:         Control flow issues  (DEADCODE)
>>>     Execution cannot reach this statement: "continue;".
282                     continue;
283     
284                 /*
285                  * Otherwise this is an invalid entry that should not be

It sees the earlier test for offset == 0, and evidently is assuming
that the loop's "offset++" will not wrap around.  Now I think that
the point of this check is exactly that "offset++" could have wrapped
around, but the commentary is not so clear that I'm certain this is a
false positive.  If that is the intention, what do you think of
rephrasing this comment as "we have wrapped around to unused slot
zero"?

                        regards, tom lane


Reply via email to