sal/osl/unx/tempfile.cxx |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

New commits:
commit 53765732330043effb197529e759e21fca93ae1b
Author:     Stephan Bergmann <sberg...@redhat.com>
AuthorDate: Mon May 30 09:33:49 2022 +0200
Commit:     Christian Lohmaier <lohmaier+libreoff...@googlemail.com>
CommitDate: Wed Jun 1 19:00:27 2022 +0200

    Avoid uninitialized temp_file_handle
    
    ...in case osl_create_temp_file_impl_ doesn't assign to it, for whatever
    osl_error reason, which then apparently leads to
    
<https://crashreport.libreoffice.org/stats/crash_details/e47a9fbb-a6f1-4020-ade8-ab51549b727a>
    SIGSEGV at (relative to libreoffice-7-1)
    
    > 0  libuno_sal.so.3  osl_closeFile                               
sal/osl/unx/file.cxx:1154
    > 1  libuno_sal.so.3  osl_createTempFile                          
sal/osl/unx/tempfile.cxx:330
    > 2  libmergedlo.so   PackedFile::flush                           
include/osl/file.hxx:310
    > 3  libmergedlo.so   comphelper::BackupFileHelper::tryPush_file  
comphelper/source/misc/backupfilehelper.cxx:2090
    [...]
    
    Change-Id: I2e81bbeab7daaaa3c19de4accce8a76ad24faa47
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/135111
    Tested-by: Jenkins
    Reviewed-by: Stephan Bergmann <sberg...@redhat.com>
    (cherry picked from commit bbcf26337cd2933205248909c55d5c1d161e9b9b)
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/135067
    Reviewed-by: Xisco Fauli <xiscofa...@libreoffice.org>
    (cherry picked from commit a4412bff3ed4b193f791ac1168fb7010c2936a1f)
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/135069
    Reviewed-by: Michael Stahl <michael.st...@allotropia.de>
    Reviewed-by: Christian Lohmaier <lohmaier+libreoff...@googlemail.com>
    Tested-by: Christian Lohmaier <lohmaier+libreoff...@googlemail.com>

diff --git a/sal/osl/unx/tempfile.cxx b/sal/osl/unx/tempfile.cxx
index 00ae0664b2c0..4a0e7aa0762f 100644
--- a/sal/osl/unx/tempfile.cxx
+++ b/sal/osl/unx/tempfile.cxx
@@ -278,7 +278,7 @@ oslFileError SAL_CALL osl_createTempFile(
     rtl_uString**  ppustrTempFileURL)
 {
     rtl_uString*  base_directory     = nullptr;
-    oslFileHandle temp_file_handle;
+    oslFileHandle temp_file_handle = nullptr;
     bool      b_delete_on_close;
     oslFileError  osl_error;
 

Reply via email to