[Libreoffice-commits] .: Branch 'feature/android' - sal/osl

Michael Meeks michael at kemper.freedesktop.org
Wed Jan 25 07:10:15 PST 2012


 sal/osl/unx/security.c |   20 +++++++++++---------
 1 file changed, 11 insertions(+), 9 deletions(-)

New commits:
commit fd268507704ba82af2abe4f5f777daf4c43d74fe
Author: Michael Meeks <michael.meeks at suse.com>
Date:   Wed Jan 25 15:09:55 2012 +0000

    android: cleanup osl security code for empty home / username fields

diff --git a/sal/osl/unx/security.c b/sal/osl/unx/security.c
index d73111c..96605fc 100644
--- a/sal/osl/unx/security.c
+++ b/sal/osl/unx/security.c
@@ -276,7 +276,7 @@ static sal_Bool SAL_CALL osl_psz_getUserName(oslSecurity Security, sal_Char* psz
 {
     oslSecurityImpl *pSecImpl = (oslSecurityImpl *)Security;
 
-    if (pSecImpl == NULL)
+    if (pSecImpl == NULL || pSecImpl->m_pPasswd.pw_name == NULL)
         return sal_False;
 
     strncpy(pszName, pSecImpl->m_pPasswd.pw_name, nMax);
@@ -364,14 +364,17 @@ static sal_Bool SAL_CALL osl_psz_getHomeDir(oslSecurity Security, sal_Char* pszD
         pStr = getenv("HOME");
 #endif
 
-        if ((pStr != NULL) && (strlen(pStr) > 0) &&
-            (access(pStr, 0) == 0))
+        if (pStr != NULL && strlen(pStr) > 0 && access(pStr, 0) == 0)
             strncpy(pszDirectory, pStr, nMax);
-        else
+        else if (pSecImpl->m_pPasswd.pw_dir != NULL)
             strncpy(pszDirectory, pSecImpl->m_pPasswd.pw_dir, nMax);
+        else
+            return sal_False;
     }
-    else
+    else if (pSecImpl->m_pPasswd.pw_dir != NULL)
         strncpy(pszDirectory, pSecImpl->m_pPasswd.pw_dir, nMax);
+    else
+        return sal_False;
 
     return sal_True;
 }
@@ -403,8 +406,7 @@ static sal_Bool SAL_CALL osl_psz_getConfigDir(oslSecurity Security, sal_Char* ps
 {
     sal_Char *pStr = getenv("XDG_CONFIG_HOME");
 
-    if ((pStr == NULL) || (strlen(pStr) == 0) ||
-        (access(pStr, 0) != 0))
+    if (pStr == NULL || strlen(pStr) == 0 || access(pStr, 0) != 0)
     {
         size_t n = 0;
         // a default equal to $HOME/.config should be used.
@@ -460,9 +462,9 @@ sal_Bool SAL_CALL osl_isAdministrator(oslSecurity Security)
         return sal_False;
 
     if (pSecImpl->m_pPasswd.pw_uid != 0)
-        return (sal_False);
+        return sal_False;
 
-    return (sal_True);
+    return sal_True;
 }
 
 void SAL_CALL osl_freeSecurityHandle(oslSecurity Security)


More information about the Libreoffice-commits mailing list