<html><head><meta name="color-scheme" content="light dark"></head><body><pre style="word-wrap: break-word; white-space: pre-wrap;">Synopsis: Repeated TIOCSCTTY ioctl can corrupt session hold counts
NetBSD versions: -current, 1.6*, 1.5
Thanks to: David Laight, Jaromir Dolecek
Reported in NetBSD Security Advisory: NetBSD-SA2002-007

Index: kern/tty.c
===================================================================
RCS file: /cvsroot/syssrc/sys/kern/tty.c,v
retrieving revision 1.138
retrieving revision 1.139
diff -u -p -c -p -r1.138 -r1.139
*** kern/tty.c	2002/05/02 13:38:57	1.138
--- kern/tty.c	2002/07/21 20:43:53	1.139
***************
*** 987,992 ****
--- 987,996 ----
  		    ((p-&gt;p_session-&gt;s_ttyvp || tp-&gt;t_session) &amp;&amp;
  		    (tp-&gt;t_session != p-&gt;p_session)))
  			return (EPERM);
+ 
+ 		if (tp-&gt;t_session)
+ 			SESSRELE(tp-&gt;t_session);
+ 
  		SESSHOLD(p-&gt;p_session);
  		tp-&gt;t_session = p-&gt;p_session;
  		tp-&gt;t_pgrp = p-&gt;p_pgrp;
</pre></body></html>