Re: Missing break statement after transformCallStmt in transformStmt
On Wed, Mar 07, 2018 at 11:30:53AM +0530, Ashutosh Bapat wrote: > Commit 76b6aa41f41db66004b1c430f17a546d4102fbe7 a new case for > CallStmt in transformStmt but forgot to add a break statement at the > end of the case. This doesn't create any problems since the default > case to which it continues without break doesn't change the result. > But this is going to cause problems in future when somebody adds a > case after CallStmt. Indeed, this code is quite lucky to be able to run, and I can see that the code path is stressed. What surprises me the most is that Coverity did not complain about that, but wait... They are in maintenance mode since the 20th of February: https://twitter.com/CoverityScan/status/966068113941979136 -- Michael signature.asc Description: PGP signature
Missing break statement after transformCallStmt in transformStmt
HI, Commit 76b6aa41f41db66004b1c430f17a546d4102fbe7 a new case for CallStmt in transformStmt but forgot to add a break statement at the end of the case. This doesn't create any problems since the default case to which it continues without break doesn't change the result. But this is going to cause problems in future when somebody adds a case after CallStmt. Here's patch with fix. -- Best Wishes, Ashutosh Bapat EnterpriseDB Corporation The Postgres Database Company diff --git a/src/backend/parser/analyze.c b/src/backend/parser/analyze.c index c3a9617..cf1a34e 100644 --- a/src/backend/parser/analyze.c +++ b/src/backend/parser/analyze.c @@ -325,6 +325,7 @@ transformStmt(ParseState *pstate, Node *parseTree) case T_CallStmt: result = transformCallStmt(pstate, (CallStmt *) parseTree); + break; default: