1
0
mirror of https://git.FreeBSD.org/ports.git synced 2025-01-19 08:13:21 +00:00

x11/lightdm: Use correct replacement for clearenv()

The previous patch to replace the Linux clearenv(3) function did not
actually clear the environment, but instead created a new environment
variable named environ with the value "NULL".

PR:		218564
Reported by:	jbeich
Obtained from:	FreeBSD env(1) command
MFH:		2017Q2
This commit is contained in:
Ben Woods 2017-04-12 15:44:24 +00:00
parent 2e44077915
commit 1c5651c00b
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=438362
2 changed files with 13 additions and 4 deletions

View File

@ -3,7 +3,7 @@
PORTNAME= lightdm
PORTVERSION= 1.20.0
PORTREVISION= 5
PORTREVISION= 6
CATEGORIES= x11
MASTER_SITES= https://launchpad.net/${PORTNAME}/${PORTVERSION:R}/${PORTVERSION}/+download/

View File

@ -1,11 +1,20 @@
--- src/process.c.orig 2016-12-08 21:38:14 UTC
--- src/process.c.orig 2017-04-12 15:33:03 UTC
+++ src/process.c
@@ -231,7 +231,7 @@ process_start (Process *process, gboolea
@@ -228,11 +228,16 @@ process_start (Process *process, gboolean block)
/* Set environment */
if (process->priv->clear_environment)
+ {
#ifdef HAVE_CLEARENV
clearenv ();
#else
- environ = NULL;
+ putenv ("environ=NULL");
+ extern char **environ;
+ char *cleanenv[1];
+ environ = cleanenv;
+ cleanenv[0] = NULL;
#endif
+ }
for (i = 0; i < env_length; i++)
setenv (env_keys[i], env_values[i], TRUE);