[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#809646: New xterm deletes content of SHELL environment



On Sat, Jan 02, 2016 at 02:23:21PM +0100, Sven Joachim wrote:
> Control: severity -1 grave
> 
> Am 02.01.2016 um 11:54 schrieb Klaus Ethgen:
> 
> > Package: xterm
> > Version: 321-1
> > Severity: important
> >
> > Today I installed the newest version of xterm. After that, most of the
> > stuff in my terminal was not working anymore. (For that I would like to
> > set the bug severity to even grave as many of my stuff, even unrelated
> > stuff is not working anymore.)
> >
> > I found out very fast that the new xterm clears the environment variable
> > $SHELL.
> 
> Ouch, sorry for not noticing that in advance.  I'm pretty sure it was
> not intended.

true - the suggested fix that I applied worked, but had a compiler warning.
My fix for _that_ was incorrect.  This works (for me):

--- /usr/build/xterm/xterm-321+/main.c	2015-12-29 15:19:35.000000000 +0000
+++ /usr/build/xterm/xterm-321a/main.c	2016-01-02 14:12:19.000000000 +0000
@@ -1,7 +1,7 @@
-/* $XTermId: main.c,v 1.776 2015/12/29 15:19:35 tom Exp $ */
+/* $XTermId: main.c,v 1.777 2016/01/02 14:12:19 tom Exp $ */
 
 /*
- * Copyright 2002-2014,2015 by Thomas E. Dickey
+ * Copyright 2002-2015,2016 by Thomas E. Dickey
  *
  *                         All Rights Reserved
  *
@@ -3248,8 +3248,8 @@
     if (validProgram(pathname)
 	&& stat(ok_shells, &sb) == 0
 	&& (sb.st_mode & S_IFMT) == S_IFREG
-	&& (sb.st_size != 0)
-	&& (sb.st_size < (off_t) (((size_t) ~0) - 2))
+	&& ((size_t) sb.st_size > 0)
+	&& ((size_t) sb.st_size < (((size_t) ~0) - 2))
 	&& (blob = calloc((size_t) sb.st_size + 2, sizeof(char))) != 0) {
 	if ((fp = fopen(ok_shells, "r")) != 0) {
 	    rc = fread(blob, sizeof(char), (size_t) sb.st_size, fp);

-- 
Thomas E. Dickey <dickey@invisible-island.net>
http://invisible-island.net
ftp://invisible-island.net

Attachment: signature.asc
Description: Digital signature


Reply to: