summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xdesktop/unx/source/start.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/desktop/unx/source/start.c b/desktop/unx/source/start.c
index 5954dc344d6a..4843835b91bb 100755
--- a/desktop/unx/source/start.c
+++ b/desktop/unx/source/start.c
@@ -768,11 +768,10 @@ static void extend_library_path (const char *new_element)
#endif
rtl_uString_newFromAscii( &pEnvName, pathname );
+ rtl_uString_newFromAscii( &pNewEnvVar, new_element );
osl_getEnvironment( pEnvName, &pOrigEnvVar );
-
- rtl_uString_newFromAscii( &pNewEnvVar, new_element );
- if (pOrigEnvVar->length)
+ if (pOrigEnvVar && pOrigEnvVar->length)
{
rtl_uString *pDelim = NULL;
rtl_uString_newFromAscii( &pDelim, ":" );
@@ -783,8 +782,9 @@ static void extend_library_path (const char *new_element)
osl_setEnvironment( pEnvName, pNewEnvVar );
+ if (pOrigEnvVar)
+ rtl_uString_release( pOrigEnvVar );
rtl_uString_release( pNewEnvVar );
- rtl_uString_release( pOrigEnvVar );
rtl_uString_release( pEnvName );
}