patch 8.1.0954: arguments of semsg() and siemsg() are not checked
Problem: Arguments of semsg() and siemsg() are not checked.
Solution: Add function prototype with __attribute__.
diff --git a/src/message.c b/src/message.c
index 621edb9..a7aca2b 100644
--- a/src/message.c
+++ b/src/message.c
@@ -730,6 +730,7 @@
return TRUE; /* no error messages at the moment */
}
+#ifndef PROTO // manual proto with __attribute__
/*
* Print an error message with format string and variable arguments.
* Note: caller must not pass 'IObuff' as 1st argument.
@@ -749,6 +750,7 @@
}
return TRUE; /* no error messages at the moment */
}
+#endif
/*
* Same as emsg(...), but abort on error when ABORT_ON_INTERNAL_ERROR is
@@ -765,6 +767,7 @@
#endif
}
+#ifndef PROTO // manual proto with __attribute__
/*
* Same as semsg(...) but abort on error when ABORT_ON_INTERNAL_ERROR is
* defined. It is used for internal errors only, so that they can be
@@ -783,10 +786,11 @@
va_end(ap);
emsg_core(IObuff);
}
-#ifdef ABORT_ON_INTERNAL_ERROR
+# ifdef ABORT_ON_INTERNAL_ERROR
abort();
-#endif
+# endif
}
+#endif
/*
* Give an "Internal error" message.