[Libreoffice-commits] .: Branch 'libreoffice-3-6' - 2 commits - basic/source desktop/source

Libreoffice Gerrit user logerrit at kemper.freedesktop.org
Mon Jan 7 08:01:04 PST 2013


 basic/source/runtime/methods.cxx   |    6 +++++-
 desktop/source/app/cmdlineargs.cxx |    9 +++++++++
 2 files changed, 14 insertions(+), 1 deletion(-)

New commits:
commit ccd30d3bb395fd367d8b687fc2b3b13641c8d846
Author: Christopher Copits <ChrisCDev at live.com>
Date:   Tue Jan 1 16:29:32 2013 -0500

    fdo#53521 Crash when running BASIC's "shell()" with a non-existent program
    
    The problem is that the process handle is freed regardless of whether osl_executeProcess was successful or not. Therefore, a segmentation fault would result, as a random memory address would be freed. This patch checks whether osl_executeProcess was successful. If it was, then it frees the handle; if it wasn't successful, the memory is not freed.
    
    Change-Id: Ic3af07be06e7af7730a3bcb1680c659a88b66af3
    Reviewed-on: https://gerrit.libreoffice.org/1530
    Reviewed-by: Michael Stahl <mstahl at redhat.com>
    Tested-by: Michael Stahl <mstahl at redhat.com>
    (cherry picked from commit dbfc8777bf73872d1b96f956b9e778d9099d52b3)
    (cherry picked from commit 96b985145b3efbaf4552adbeccf24bfac2fa71b0)
    
    Signed-off-by: Michael Stahl <mstahl at redhat.com>

diff --git a/basic/source/runtime/methods.cxx b/basic/source/runtime/methods.cxx
index d54c506..fbf6883 100644
--- a/basic/source/runtime/methods.cxx
+++ b/basic/source/runtime/methods.cxx
@@ -3294,7 +3294,11 @@ RTLFUNC(Shell)
                     NULL, 0,
                     &pApp ) == osl_Process_E_None;
 
-        osl_freeProcessHandle( pApp );
+        // 53521 only free process handle on success
+        if (bSucc)
+        {
+            osl_freeProcessHandle( pApp );
+        }
 
         for(int j = 0; i < nParamCount; i++)
         {
commit 80984766863c12009415e28b7d7e8a9fe9255546
Author: Aurimas Fišeras <aurimas at members.fsf.org>
Date:   Sun Dec 16 13:41:31 2012 +0200

    fdo#57203 Unknown option: -Embedding
    
    Ignore this option on Windows.
    This work-arounds a regression introduced by f4a4ba9ac
    Windows appends -Embedding when LibreOffice is called by COM+
    Before f4a4ba9ac this option was silently ignored.
    
    Change-Id: I8a727895c9ec8fa4b06aea8ad66b2791ada66dd5
    Reviewed-on: https://gerrit.libreoffice.org/1514
    Reviewed-by: Michael Stahl <mstahl at redhat.com>
    Tested-by: Michael Stahl <mstahl at redhat.com>
    (cherry picked from commit 3616640054f4fc18c6e7307ba17e7d89a0f5ae69)
    
    Conflicts:
    	desktop/source/app/cmdlineargs.cxx
    (cherry picked from commit abf0ed8400d7787fec906b21de74698936d40e28)
    
    Signed-off-by: Michael Stahl <mstahl at redhat.com>

diff --git a/desktop/source/app/cmdlineargs.cxx b/desktop/source/app/cmdlineargs.cxx
index 51bdad0..28f8054 100644
--- a/desktop/source/app/cmdlineargs.cxx
+++ b/desktop/source/app/cmdlineargs.cxx
@@ -520,6 +520,15 @@ bool CommandLineArgs::InterpretCommandLineParameter( const ::rtl::OUString& aArg
         return true;
     }
 #endif
+#ifdef WIN32
+    /* fdo#57203 ignore -Embedding on Windows
+       when LibreOffice is launched by COM+
+     */
+    else if ( oArg == "Embedding" )
+    {
+        return true;
+    }
+#endif
     else if ( oArg.matchIgnoreAsciiCaseAsciiL(RTL_CONSTASCII_STRINGPARAM("infilter=")))
     {
         m_infilter.push_back(oArg.copy(RTL_CONSTASCII_LENGTH("infilter=")));


More information about the Libreoffice-commits mailing list