Change in core[libreoffice-4-0]: Do not call putenv with a temporary string argument
Stephan Bergmann (via Code Review)
gerrit at gerrit.libreoffice.org
Tue Jan 29 04:36:58 PST 2013
Hi,
I have submitted a patch for review:
https://gerrit.libreoffice.org/1917
To pull it, you can do:
git pull ssh://gerrit.libreoffice.org:29418/core refs/changes/17/1917/1
Do not call putenv with a temporary string argument
These bad calls to putenv suddenly caused the buildIdFile string (macro-expanded
from bootstraprc's UserInstallation) in cleanExtensionCache
(desktop/source/app/app.cxx) to contain nonsense at least in a local
libreoffice-4-0-0 of mine, as getenv("UserInstallation") started to return some
non-null pointer pointing to garbage.
Change-Id: Ib93fd4e1caef016bd0e00bf09800b9532824ac4b
(cherry picked from commit d841273ba54b173020aa8da18ba7841cf950c13c)
---
M vcl/aqua/source/app/salinst.cxx
1 file changed, 6 insertions(+), 10 deletions(-)
diff --git a/vcl/aqua/source/app/salinst.cxx b/vcl/aqua/source/app/salinst.cxx
index 90a3fa7..0a08788 100644
--- a/vcl/aqua/source/app/salinst.cxx
+++ b/vcl/aqua/source/app/salinst.cxx
@@ -306,7 +306,6 @@
rtl::OString aResPath( getenv( "STAR_RESOURCEPATH" ) );
rtl::OString aLibPath( getenv( "DYLD_LIBRARY_PATH" ) );
rtl::OString aCmdPath( OUStringToOString(OUString(sysWorkDir), RTL_TEXTENCODING_UTF8).getStr() );
- rtl::OString aTmpPath;
// Get absolute path of command's directory
if ( !aCmdPath.isEmpty() ) {
DirEntry aCmdDirEntry( aCmdPath );
@@ -316,32 +315,29 @@
// Assign to PATH environment variable
if ( !aCmdPath.isEmpty() )
{
- aTmpPath = rtl::OString( "PATH=" );
- aTmpPath += aCmdPath;
+ rtl::OString aTmpPath( aCmdPath );
if ( !aPath.isEmpty() )
aTmpPath += rtl::OUStringToOString( DirEntry::GetSearchDelimiter(), RTL_TEXTENCODING_ASCII_US );
aTmpPath += aPath;
- putenv( (char*)aTmpPath.getStr() );
+ setenv( "PATH", aTmpPath.getStr(), 1 );
}
// Assign to STAR_RESOURCEPATH environment variable
if ( !aCmdPath.isEmpty() )
{
- aTmpPath = rtl::OString( "STAR_RESOURCEPATH=" );
- aTmpPath += aCmdPath;
+ rtl::OString aTmpPath( aCmdPath );
if ( !aResPath.isEmpty() )
aTmpPath += rtl::OUStringToOString( DirEntry::GetSearchDelimiter(), RTL_TEXTENCODING_ASCII_US );
aTmpPath += aResPath;
- putenv( (char*)aTmpPath.getStr() );
+ setenv( "STAR_RESOURCEPATH", aTmpPath.getStr(), 1 );
}
// Assign to DYLD_LIBRARY_PATH environment variable
if ( !aCmdPath.isEmpty() )
{
- aTmpPath = rtl::OString( "DYLD_LIBRARY_PATH=" );
- aTmpPath += aCmdPath;
+ rtl::OString aTmpPath( aCmdPath );
if ( !aLibPath.isEmpty() )
aTmpPath += rtl::OUStringToOString( DirEntry::GetSearchDelimiter(), RTL_TEXTENCODING_ASCII_US );
aTmpPath += aLibPath;
- putenv( (char*)aTmpPath.getStr() );
+ setenv( "DYLD_LIBRARY_PATH", aTmpPath.getStr(), 1 );
}
}
}
--
To view, visit https://gerrit.libreoffice.org/1917
To unsubscribe, visit https://gerrit.libreoffice.org/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: Ib93fd4e1caef016bd0e00bf09800b9532824ac4b
Gerrit-PatchSet: 1
Gerrit-Project: core
Gerrit-Branch: libreoffice-4-0
Gerrit-Owner: Stephan Bergmann <sbergman at redhat.com>
More information about the LibreOffice
mailing list