Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 15 Apr 2016 09:13:01 +0000 (UTC)
From:      Konstantin Belousov <kib@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r298043 - head/sys/ddb
Message-ID:  <201604150913.u3F9D1ln059443@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: kib
Date: Fri Apr 15 09:13:01 2016
New Revision: 298043
URL: https://svnweb.freebsd.org/changeset/base/298043

Log:
  Avoid NULL pointer dereference, for a process which is not (yet) a
  member of a process group, e.g. during the system bootstrap.
  
  Submitted by:	Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
  MFC after:	1 week

Modified:
  head/sys/ddb/db_ps.c

Modified: head/sys/ddb/db_ps.c
==============================================================================
--- head/sys/ddb/db_ps.c	Fri Apr 15 08:17:55 2016	(r298042)
+++ head/sys/ddb/db_ps.c	Fri Apr 15 09:13:01 2016	(r298043)
@@ -184,7 +184,8 @@ db_ps(db_expr_t addr, bool hasaddr, db_e
 			strlcat(state, "V", sizeof(state));
 		if (p->p_flag & P_SYSTEM || p->p_lock > 0)
 			strlcat(state, "L", sizeof(state));
-		if (p->p_session != NULL && SESS_LEADER(p))
+		if (p->p_pgrp != NULL && p->p_session != NULL &&
+		    SESS_LEADER(p))
 			strlcat(state, "s", sizeof(state));
 		/* Cheated here and didn't compare pgid's. */
 		if (p->p_flag & P_CONTROLT)



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201604150913.u3F9D1ln059443>