[Asterisk-code-review] pjsip distributor.c: Fix off-nominal tdata ref leak. (asterisk[13])

Richard Mudgett asteriskteam at digium.com
Tue Feb 14 13:50:54 CST 2017


Richard Mudgett has posted comments on this change. ( https://gerrit.asterisk.org/4924 )

Change subject: pjsip_distributor.c: Fix off-nominal tdata ref leak.
......................................................................


Patch Set 1:

> > > So, it's a theoretical?
 > > >
 > > > The return value should match an enum, if not then they are
 > > > violating the contract.
 > >
 > > Should still code for that path.  This patch make sure and we
 > won't
 > > wind up with dead code to satisfy the compiler.
 > 
 > I don't understand this. Asterisk developers code with -Wall (which
 > includes -Wswitch) and -Werror. This means that if there is an
 > enumeration case that is not present in a switch statement, or if
 > there is a case that is outside the range of the enumeration you
 > are switching on, the compiler will throw a warning, which will
 > then be promoted to an error.

Compile the below code in file.c using "gcc -Wall -O2 file.c":

enum my_enum {
	ONE,
	TWO,
	THREE,
};

int foo(enum my_enum bar);

int foo(enum my_enum bar)
{
	int not_init;

	switch (bar) {
	case ONE:
		not_init = 1;
		break;
	case TWO:
		not_init = 2;
		break;
	case THREE:
		not_init = 3;
		break;
	}

	return not_init;
}

You get a warning about not_init maybe uninitialized because a switch statement always has a default path even though all the enum values are covered.

-- 
To view, visit https://gerrit.asterisk.org/4924
To unsubscribe, visit https://gerrit.asterisk.org/settings

Gerrit-MessageType: comment
Gerrit-Change-Id: I571f371d0956a8039b197b4dbd8af6b18843598d
Gerrit-PatchSet: 1
Gerrit-Project: asterisk
Gerrit-Branch: 13
Gerrit-Owner: Richard Mudgett <rmudgett at digium.com>
Gerrit-Reviewer: Anonymous Coward #1000019
Gerrit-Reviewer: Joshua Colp <jcolp at digium.com>
Gerrit-Reviewer: Mark Michelson <mmichelson at digium.com>
Gerrit-Reviewer: Richard Mudgett <rmudgett at digium.com>
Gerrit-HasComments: No



More information about the asterisk-code-review mailing list