diff options
-rwxr-xr-x | desktop/unx/source/start.c | 8 |
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 ); } |