]> err.no Git - linux-2.6/commitdiff
[PATCH] coverity: tty_ldisc_ref return null check
authorKAMBAROV, ZAUR <kambarov@berkeley.edu>
Wed, 29 Jun 2005 03:45:12 +0000 (20:45 -0700)
committerLinus Torvalds <torvalds@ppc970.osdl.org>
Wed, 29 Jun 2005 04:20:34 +0000 (21:20 -0700)
We add a check of the return value of tty_ldisc_ref(), which
is checked 7 out of 8 times, e.g.:

149   ld = tty_ldisc_ref(tty);
150   if (ld != NULL) {
151   if (ld->set_termios)
152   (ld->set_termios)(tty, &old_termios);
153   tty_ldisc_deref(ld);
154   }

This defect was found automatically by Coverity Prevent, a static analysis
tool.

(akpm: presumably `ld' is never NULL.  Oh well)

Signed-off-by: Zaur Kambarov <zkambarov@coverity.com>
Cc: Alan Cox <alan@lxorguk.ukuu.org.uk>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
drivers/char/tty_ioctl.c

index 58597993954f7e8fea638d065afdc7a5362e2ed5..f19cf9d7792d57816b53cf0e697bda80fe07a50e 100644 (file)
@@ -476,11 +476,11 @@ int n_tty_ioctl(struct tty_struct * tty, struct file * file,
                        ld = tty_ldisc_ref(tty);
                        switch (arg) {
                        case TCIFLUSH:
-                               if (ld->flush_buffer)
+                               if (ld && ld->flush_buffer)
                                        ld->flush_buffer(tty);
                                break;
                        case TCIOFLUSH:
-                               if (ld->flush_buffer)
+                               if (ld && ld->flush_buffer)
                                        ld->flush_buffer(tty);
                                /* fall through */
                        case TCOFLUSH: