提交 a51f4124 编写于 作者: D David Sterba 提交者: Linus Torvalds

ipwireless: fix potential tty == NULL dereference

The Coverity checker spotted the following inconsequent NULL checking in
drivers/char/pcmcia/ipwireless/network.c:ipwireless_network_packet_received()

if (tty && channel_idx == IPW_CHANNEL_RAS
		&& (network->ras_control_lines &
			IPW_CONTROL_LINE_DCD) != 0
		&& ipwireless_tty_is_modem(tty)) {
...
	else
		ipwireless_tty_received(tty, data, length);

Cc: Adrian Bunk <bunk@kernel.org>
Signed-off-by: NDavid Sterba <dsterba@suse.cz>
Signed-off-by: NJiri Kosina <jkosina@suse.cz>
Cc: "John W. Linville" <linville@tuxdriver.com>
Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
上级 3149be50
...@@ -377,13 +377,16 @@ void ipwireless_network_packet_received(struct ipw_network *network, ...@@ -377,13 +377,16 @@ void ipwireless_network_packet_received(struct ipw_network *network,
for (i = 0; i < MAX_ASSOCIATED_TTYS; i++) { for (i = 0; i < MAX_ASSOCIATED_TTYS; i++) {
struct ipw_tty *tty = network->associated_ttys[channel_idx][i]; struct ipw_tty *tty = network->associated_ttys[channel_idx][i];
if (!tty)
continue;
/* /*
* If it's associated with a tty (other than the RAS channel * If it's associated with a tty (other than the RAS channel
* when we're online), then send the data to that tty. The RAS * when we're online), then send the data to that tty. The RAS
* channel's data is handled above - it always goes through * channel's data is handled above - it always goes through
* ppp_generic. * ppp_generic.
*/ */
if (tty && channel_idx == IPW_CHANNEL_RAS if (channel_idx == IPW_CHANNEL_RAS
&& (network->ras_control_lines & && (network->ras_control_lines &
IPW_CONTROL_LINE_DCD) != 0 IPW_CONTROL_LINE_DCD) != 0
&& ipwireless_tty_is_modem(tty)) { && ipwireless_tty_is_modem(tty)) {
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册