summaryrefslogtreecommitdiff
path: root/0001-rhbz-2171265-Filter-out-all-non-.rdb-files.patch
blob: 1f96f54368a1a2642c7d612922aa8171c5857056 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
From feb8b04a0ee86b0146a17393da220ae188babda8 Mon Sep 17 00:00:00 2001
From: Stephan Bergmann <sbergman@redhat.com>
Date: Wed, 22 Mar 2023 17:19:49 +0100
Subject: [PATCH] rhbz#2171265 Filter out all non *.rdb files

In that rhbz issue ("Libreoffice cannot start"), it looks like some junk file
named /usr/lib64/libreoffice/program/services/services.rdb;63ddcd86 caused
soffice.bin to crash early, without any information (cf.
a1faf14f74a62ea76141115538d7d30d90c9eeb6 "rhbz#2171265 Report fatal
InitApplicationServiceManager failures more reliably").  So, following up on
b8c7548527f5fc14fe8fcbe74a749c7e3c10d385 "ignore backup files in services/
directory to avoid debugging grief", extend the set of ignored files to anything
starting with "." or not ending in ".rdb" (in any case).

Change-Id: I154750465d2128b3ff6493f4ab606072dda61503
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/149328
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
---
 cppuhelper/source/paths.cxx | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/cppuhelper/source/paths.cxx b/cppuhelper/source/paths.cxx
index ece7650ded4c..dd8fe56df2bf 100644
--- a/cppuhelper/source/paths.cxx
+++ b/cppuhelper/source/paths.cxx
@@ -99,9 +99,11 @@ bool cppu::nextDirectoryItem(osl::Directory & directory, OUString * url) {
                 "Cannot stat in directory");
         }
         if (stat.getFileType() != osl::FileStatus::Directory) { //TODO: symlinks
-            // Ignore backup files:
+            // Ignore backup and spurious junk files:
             OUString name(stat.getFileName());
-            if (!(name.match(".") || name.endsWith("~"))) {
+            if (name.match(".") || !name.endsWithIgnoreAsciiCase(u".rdb")) {
+                SAL_WARN("cppuhelper", "ignoring <" << stat.getFileURL() << ">");
+            } else {
                 *url = stat.getFileURL();
                 return true;
             }
-- 
2.40.0