- applied patch for #246219, fixing segfault with vsyslog on x86_64

This commit is contained in:
Tomas Janousek 2007-06-29 11:47:31 +00:00
parent aab7e16a18
commit 9c9f0b697d
2 changed files with 119 additions and 1 deletions

113
gpm-1.20.1-va_list.patch Normal file
View File

@ -0,0 +1,113 @@
--- gpm-1.20.1/src/report.c.va_list 2007-06-29 13:31:09.000000000 +0200
+++ gpm-1.20.1/src/report.c 2007-06-29 13:39:49.000000000 +0200
@@ -72,9 +72,16 @@
void gpm_report(int line, char *file, int stat, char *text, ... )
{
FILE *f = NULL;
- va_list ap;
+ va_list ap, ap3;
+#ifdef HAVE_VSYSLOG
+ va_list ap2;
+#endif
va_start(ap,text);
+ va_copy(ap3, ap);
+#ifdef HAVE_VSYSLOG
+ va_copy(ap2, ap);
+#endif
switch(option.run_status) {
/******************** STARTUP *****************/
@@ -83,7 +90,7 @@
case GPM_STAT_INFO:
#ifdef HAVE_VSYSLOG
syslog(LOG_INFO | LOG_USER, GPM_STRING_INFO);
- vsyslog(LOG_INFO | LOG_USER, text, ap);
+ vsyslog(LOG_INFO | LOG_USER, text, ap2);
#endif
fprintf(stderr,GPM_STRING_INFO);
vfprintf(stderr,text,ap);
@@ -93,7 +100,7 @@
case GPM_STAT_WARN:
#ifdef HAVE_VSYSLOG
syslog(LOG_DAEMON | LOG_WARNING, GPM_STRING_WARN);
- vsyslog(LOG_DAEMON | LOG_WARNING, text, ap);
+ vsyslog(LOG_DAEMON | LOG_WARNING, text, ap2);
#endif
fprintf(stderr,GPM_STRING_WARN);
vfprintf(stderr,text,ap);
@@ -103,7 +110,7 @@
case GPM_STAT_ERR:
#ifdef HAVE_VSYSLOG
syslog(LOG_DAEMON | LOG_ERR, GPM_STRING_ERR);
- vsyslog(LOG_DAEMON | LOG_ERR, text, ap);
+ vsyslog(LOG_DAEMON | LOG_ERR, text, ap2);
#endif
fprintf(stderr,GPM_STRING_ERR);
vfprintf(stderr,text,ap);
@@ -113,7 +120,7 @@
case GPM_STAT_OOPS:
#ifdef HAVE_VSYSLOG
syslog(LOG_DAEMON | LOG_ERR, GPM_STRING_OOPS);
- vsyslog(LOG_DAEMON | LOG_ERR, text, ap);
+ vsyslog(LOG_DAEMON | LOG_ERR, text, ap2);
#endif
fprintf(stderr,GPM_STRING_OOPS);
vfprintf(stderr,text,ap);
@@ -130,14 +137,14 @@
case GPM_STAT_INFO:
#ifdef HAVE_VSYSLOG
syslog(LOG_INFO | LOG_USER, GPM_STRING_INFO);
- vsyslog(LOG_INFO | LOG_USER, text, ap);
+ vsyslog(LOG_INFO | LOG_USER, text, ap2);
#endif
break;
case GPM_STAT_WARN:
#ifdef HAVE_VSYSLOG
syslog(LOG_DAEMON | LOG_WARNING, GPM_STRING_WARN);
- vsyslog(LOG_DAEMON | LOG_WARNING, text, ap);
+ vsyslog(LOG_DAEMON | LOG_WARNING, text, ap2);
#endif
if ((f = fopen(GPM_SYS_CONSOLE, "a")) != NULL) {
fprintf(f, GPM_STRING_WARN);
@@ -150,7 +157,7 @@
case GPM_STAT_ERR:
#ifdef HAVE_VSYSLOG
syslog(LOG_DAEMON | LOG_ERR, GPM_STRING_ERR);
- vsyslog(LOG_DAEMON | LOG_ERR, text, ap);
+ vsyslog(LOG_DAEMON | LOG_ERR, text, ap2);
#endif
if ((f = fopen(GPM_SYS_CONSOLE, "a")) != NULL) {
fprintf(f, GPM_STRING_ERR);
@@ -161,7 +168,7 @@
if ((f = fopen(console.device, "a")) != NULL) {
fprintf(f, GPM_STRING_ERR);
- vfprintf(f, text, ap);
+ vfprintf(f, text, ap3);
fprintf(f, "\n");
fclose(f);
}
@@ -170,7 +177,7 @@
case GPM_STAT_OOPS:
#ifdef HAVE_VSYSLOG
syslog(LOG_DAEMON | LOG_ERR, GPM_STRING_OOPS);
- vsyslog(LOG_DAEMON | LOG_ERR, text, ap);
+ vsyslog(LOG_DAEMON | LOG_ERR, text, ap2);
#endif
fprintf(stderr,GPM_STRING_OOPS);
vfprintf(stderr,text,ap);
@@ -208,6 +215,12 @@
break;
} /* switch for current modus */
+
+ va_end(ap);
+ va_end(ap3);
+#ifdef HAVE_VSYSLOG
+ va_end(ap2);
+#endif
} /* gpm_report */

View File

@ -1,7 +1,7 @@
Summary: A mouse server for the Linux console. Summary: A mouse server for the Linux console.
Name: gpm Name: gpm
Version: 1.20.1 Version: 1.20.1
Release: 84%{?dist} Release: 85%{?dist}
License: GPL License: GPL
Group: System Environment/Daemons Group: System Environment/Daemons
Source: http://ftp.linux.it/pub/People/rubini/gpm/%{name}-%{version}.tar.gz Source: http://ftp.linux.it/pub/People/rubini/gpm/%{name}-%{version}.tar.gz
@ -23,6 +23,7 @@ Patch22: gpm-1.20.1-close-fds.patch
Patch23: gpm-1.20.1-aligned-sleep.patch Patch23: gpm-1.20.1-aligned-sleep.patch
Patch24: gpm-1.20.1-deadsocket.patch Patch24: gpm-1.20.1-deadsocket.patch
Patch25: gpm-1.20.1-default-handler.patch Patch25: gpm-1.20.1-default-handler.patch
Patch26: gpm-1.20.1-va_list.patch
Prereq: /sbin/chkconfig /sbin/ldconfig /sbin/install-info Prereq: /sbin/chkconfig /sbin/ldconfig /sbin/install-info
Requires: bash >= 2.0 Requires: bash >= 2.0
@ -70,6 +71,7 @@ mouse button.
%patch23 -p1 -b .aligned-sleep %patch23 -p1 -b .aligned-sleep
%patch24 -p1 -b .deadsocket %patch24 -p1 -b .deadsocket
%patch25 -p1 -b .default-handler %patch25 -p1 -b .default-handler
%patch26 -p1 -b .va_list
%build %build
rm -f configure rm -f configure
@ -188,6 +190,9 @@ fi
%{_libdir}/libgpm.so %{_libdir}/libgpm.so
%changelog %changelog
* Fri Jun 29 2007 Tomas Janousek <tjanouse@redhat.com> - 1.20.1-85
- applied patch for #246219, fixing segfault with vsyslog on x86_64
* Wed May 23 2007 Tomas Janousek <tjanouse@redhat.com> - 1.20.1-84 * Wed May 23 2007 Tomas Janousek <tjanouse@redhat.com> - 1.20.1-84
- applied patch for #240389, fixing default handlers - applied patch for #240389, fixing default handlers