powered by Jive Software

Use of wrong operator in string comparison?

Hi!

  1. There is code:

https://github.com/igniterealtime/Openfire/blob/0b0dc85e4a47fc841b5c59e419e28c34 dda0a7ad/src/plugins/rayo/src/java/com/sun/voip/server/WebRtcCallAgent.java#L53

callHandler.setEndpointAddress(null, (byte) (cp.getMediaPreference() == “PCM/48000/2” ? 111 : 0), (byte)0, (byte)0);

Perhaps, it should be:

callHandler.setEndpointAddress(null, (byte) (cp.getMediaPreference().equals(“PCM/48000/2”) ? 111 : 0), (byte)0, (byte)0);

https://github.com/igniterealtime/Openfire/blob/e9a6eb55af4481eff1d75e6a031dfb34 0ce2c4a0/src/plugins/sip/src/java/org/jivesoftware/openfire/sip/tester/stack/Sip CommHop.java#L84

} else if (transport == “”) {

Perhaps, it should be:

} else if (transport.isEmpty()) {

Possible defect was found by Echelon team with AppChecker static analyzer (https://npo-echelon.ru/en/solutions/appchecker.php)