desktop/source/app/crashreport.cxx |    2 ++
 sc/source/ui/docshell/olinefun.cxx |    3 +++
 2 files changed, 5 insertions(+)

New commits:
commit de3fcf4bea142fa376b043862ef2bde1db32098f
Author:     Christian Lohmaier <lohmaier+libreoff...@googlemail.com>
AuthorDate: Tue Aug 16 20:19:21 2022 +0200
Commit:     Christian Lohmaier <lohmaier+libreoff...@googlemail.com>
CommitDate: Thu Aug 18 16:06:46 2022 +0200

    crashreport: __cpuid/__cpuidex are not available on arm64
    
    …and from a quick glance similar features are not exposed to userland
    applications on arm64:
    
    https://docs.kernel.org/arm64/cpu-feature-registers.html
    "The ARM architecture defines a set of feature registers, which describe
    the capabilities of the CPU/system. Access to these system registers is
    restricted from EL0 and there is no reliable way for an application to
    extract this information to make better decisions at runtime.[…]"
    
    Thus the CPU information would have to be gathered from the OS, probably
    from the Windows registry, at least it should be possible to read the
    name/model that way…
    
    Change-Id: I39e3679a7c4c581d8e3e4f71842d7ea7cdc2ba67
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/138380
    Tested-by: Jenkins
    Reviewed-by: Christian Lohmaier <lohmaier+libreoff...@googlemail.com>

diff --git a/desktop/source/app/crashreport.cxx 
b/desktop/source/app/crashreport.cxx
index a14527c621e2..0458edf9793a 100644
--- a/desktop/source/app/crashreport.cxx
+++ b/desktop/source/app/crashreport.cxx
@@ -346,6 +346,7 @@ void CrashReporter::writeSystemInfo()
 #elif defined _WIN32
 void CrashReporter::writeSystemInfo()
 {
+#if !defined(_ARM64_)
     // Get CPU model name and flags.
     // See https://docs.microsoft.com/en-us/cpp/intrinsics/cpuid-cpuidex
     // and https://en.wikipedia.org/wiki/CPUID .
@@ -456,6 +457,7 @@ void CrashReporter::writeSystemInfo()
     }
     if( !flags.isEmpty())
         addKeyValue( "CPUFlags", flags.makeStringAndClear(), AddItem );
+#endif
     // Get total memory.
     MEMORYSTATUSEX memoryStatus;
     memoryStatus.dwLength = sizeof( memoryStatus );
commit 64c60a67930ebf9a1b19b4396c9fea3c4c973e62
Author:     Caolán McNamara <caol...@redhat.com>
AuthorDate: Thu Aug 18 12:45:45 2022 +0100
Commit:     Caolán McNamara <caol...@redhat.com>
CommitDate: Thu Aug 18 16:06:33 2022 +0200

    cid#1509305 Dereference null return value
    
    Change-Id: I17175b9ce05b784844e49aed53d85a55e33a0f45
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/138484
    Tested-by: Jenkins
    Reviewed-by: Caolán McNamara <caol...@redhat.com>

diff --git a/sc/source/ui/docshell/olinefun.cxx 
b/sc/source/ui/docshell/olinefun.cxx
index 76ea01eae3bc..70fafd8e1e2a 100644
--- a/sc/source/ui/docshell/olinefun.cxx
+++ b/sc/source/ui/docshell/olinefun.cxx
@@ -640,6 +640,9 @@ void ScOutlineDocFunc::ShowOutline( SCTAB nTab, bool 
bColumns, sal_uInt16 nLevel
         bRecord = false;
 
     ScOutlineTable* pTable = rDoc.GetOutlineTable( nTab );
+    if (!pTable)
+        return;
+
     ScOutlineArray& rArray = bColumns ? pTable->GetColArray() : 
pTable->GetRowArray();
     ScOutlineEntry* pEntry = rArray.GetEntry( nLevel, nEntry );
     SCCOLROW nStart = pEntry->GetStart();

Reply via email to