Author: emaste
Date: Wed Sep 22 19:41:01 2010
New Revision: 213013
URL: http://svn.freebsd.org/changeset/base/213013

Log:
  Move test for zero bufp or size before rseq and wseq calculation.  This
  avoids spinning in an infinite loop for some (possibly corrupt?) core
  files at work.

Modified:
  head/gnu/usr.bin/gdb/kgdb/main.c

Modified: head/gnu/usr.bin/gdb/kgdb/main.c
==============================================================================
--- head/gnu/usr.bin/gdb/kgdb/main.c    Wed Sep 22 19:26:41 2010        
(r213012)
+++ head/gnu/usr.bin/gdb/kgdb/main.c    Wed Sep 22 19:41:01 2010        
(r213013)
@@ -222,11 +222,13 @@ kgdb_dmesg(void)
                return;
        bufp = kgdb_parse("msgbufp->msg_ptr");
        size = (int)kgdb_parse("msgbufp->msg_size");
+       if (bufp == 0 || size == 0)
+               return;
        rseq = (int)kgdb_parse("msgbufp->msg_rseq");
        wseq = (int)kgdb_parse("msgbufp->msg_wseq");
        rseq = MSGBUF_SEQ_TO_POS(size, rseq);
        wseq = MSGBUF_SEQ_TO_POS(size, wseq);
-       if (bufp == 0 || size == 0 || rseq == wseq)
+       if (rseq == wseq)
                return;
 
        printf("\nUnread portion of the kernel message buffer:\n");
_______________________________________________
svn-src-head@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"

Reply via email to