Blame SOURCES/0001-Make-sure-to-return-value-from-non-void-function.patch

d73fd1
From 44cc1d696b6528712d92d33660dd8017dcd0b3e2 Mon Sep 17 00:00:00 2001
d73fd1
From: Stephan Bergmann <sbergman@redhat.com>
d73fd1
Date: Wed, 31 Jul 2019 16:57:31 +0200
d73fd1
Subject: [PATCH 1/2] Make sure to return value from non-void function
d73fd1
d73fd1
This had been commented out with 92145f058c88a9607341d8a20c3944a96ec00cf8
d73fd1
"All remaining memory leaks int tests removed. Fixes made by Veit and Anthony
d73fd1
Novatsis are incorporated" for no apparent reason---presumably by accident.
d73fd1
d73fd1
The effect (besides a -Wreturn-type warning) when building e.g. RelWithDebInfo
d73fd1
(i.e., with optimizations) on Fedora 30 (with GCC 9.1) was that the implicit
d73fd1
call to ~WhitespaceAnalyzer at the end of searchDocs was directly followed
d73fd1
(lacking the code sequence corresponding to "return 0;") by some compiler-
d73fd1
generated code to jump into some _Z10searchDocsPv.cold code (which is apparently
d73fd1
meant as an optimization, to be called from certain cold conditions) which
d73fd1
happened to also call ~WhitespaceAnalyzer.  The net effect was that the
d73fd1
d73fd1
    WhitespaceAnalyzer an;
d73fd1
d73fd1
object was deleted twice, causing a SIGSEGV.
d73fd1
---
d73fd1
 src/test/search/TestIndexSearcher.cpp | 2 +-
d73fd1
 1 file changed, 1 insertion(+), 1 deletion(-)
d73fd1
d73fd1
diff --git a/src/test/search/TestIndexSearcher.cpp b/src/test/search/TestIndexSearcher.cpp
d73fd1
index 5c410ff4..02c21aaf 100644
d73fd1
--- a/src/test/search/TestIndexSearcher.cpp
d73fd1
+++ b/src/test/search/TestIndexSearcher.cpp
d73fd1
@@ -28,7 +28,7 @@ _LUCENE_THREAD_FUNC(searchDocs, _searcher) {
d73fd1
     _CLLDELETE(query);
d73fd1
 
d73fd1
     CONDITION_WAIT(deleteMutex, deleteCondition);
d73fd1
-//    _LUCENE_THREAD_FUNC_RETURN(0);
d73fd1
+    _LUCENE_THREAD_FUNC_RETURN(0);
d73fd1
 }
d73fd1
 
d73fd1
 void testEndThreadException(CuTest *tc) {
d73fd1
-- 
d73fd1
2.21.0
d73fd1