Related to: <https://fedoraproject.org/wiki/Changes/PortingToModernC> <https://fedoraproject.org/wiki/Toolchain/PortingToModernC>
52 lines
1.9 KiB
Diff
52 lines
1.9 KiB
Diff
Fix a configure check that happens to trigger and implicit function
|
|
declaration error.
|
|
|
|
Fixed slightly differently in upstream via:
|
|
|
|
commit 516032ec39169d05c613de0e8ee10845658748ff
|
|
Author: Quentin Armitage <quentin@armitage.org.uk>
|
|
Date: Sun Apr 17 18:02:18 2022 +0100
|
|
|
|
config parser: Fix segfault caused by extra '}' and other parser fixes
|
|
|
|
If there was a configuration error in a block, e.g. a vrrp_instance,
|
|
keepalived would apply the configuration in the rest of the block to
|
|
the previous object of that type, e.g. the previous vrrp instance. If
|
|
there had been no previous instance, keepalived would probably segfault.
|
|
|
|
This commit changes the way the parser works. A new instance of an
|
|
object, e.g. a VRRP instance or a virtual server, is only added to the
|
|
list of those objects once the configuration of that object is complete.
|
|
In particular it no longer applies the configuration to the last entry
|
|
on the list of the relevant object type, but keeps a point to the
|
|
object currently being configured.
|
|
|
|
Signed-off-by: Quentin Armitage <quentin@armitage.org.uk>
|
|
|
|
diff --git a/configure b/configure
|
|
index 7cd6c4f614930391..b099b8f42aca1cba 100755
|
|
--- a/configure
|
|
+++ b/configure
|
|
@@ -6382,7 +6382,7 @@ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
|
|
|
|
#include <stdio.h>
|
|
|
|
- static int func(int i) __attribute__((error("deliberate error")))
|
|
+ static int __attribute__((error("deliberate error"))) func(int i)
|
|
{
|
|
return i * 2;
|
|
}
|
|
diff --git a/configure.ac b/configure.ac
|
|
index 350a9f4e9567518c..5546143b4630aff6 100644
|
|
--- a/configure.ac
|
|
+++ b/configure.ac
|
|
@@ -792,7 +792,7 @@ AC_COMPILE_IFELSE(
|
|
[[
|
|
#include <stdio.h>
|
|
|
|
- static int func(int i) __attribute__((error("deliberate error")))
|
|
+ static int __attribute__((error("deliberate error"))) func(int i)
|
|
{
|
|
return i * 2;
|
|
}
|