rpms/gpm/devel gpm-1.20.1-va_list.patch, NONE, 1.1 gpm.spec, 1.53, 1.54

Tomas Janousek (tjanouse) fedora-extras-commits at redhat.com
Fri Jun 29 11:48:07 UTC 2007


Author: tjanouse

Update of /cvs/pkgs/rpms/gpm/devel
In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv29095

Modified Files:
	gpm.spec 
Added Files:
	gpm-1.20.1-va_list.patch 
Log Message:
* Fri Jun 29 2007 Tomas Janousek <tjanouse at redhat.com> - 1.20.1-85
- applied patch for #246219, fixing segfault with vsyslog on x86_64


gpm-1.20.1-va_list.patch:

--- NEW FILE gpm-1.20.1-va_list.patch ---
--- 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 */   
 
 


Index: gpm.spec
===================================================================
RCS file: /cvs/pkgs/rpms/gpm/devel/gpm.spec,v
retrieving revision 1.53
retrieving revision 1.54
diff -u -r1.53 -r1.54
--- gpm.spec	23 May 2007 13:21:18 -0000	1.53
+++ gpm.spec	29 Jun 2007 11:47:31 -0000	1.54
@@ -1,7 +1,7 @@
 Summary: A mouse server for the Linux console.
 Name: gpm
 Version: 1.20.1
-Release: 84%{?dist}
+Release: 85%{?dist}
 License: GPL
 Group: System Environment/Daemons
 Source: http://ftp.linux.it/pub/People/rubini/gpm/%{name}-%{version}.tar.gz
@@ -23,6 +23,7 @@
 Patch23: gpm-1.20.1-aligned-sleep.patch
 Patch24: gpm-1.20.1-deadsocket.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
 Requires: bash >= 2.0
@@ -70,6 +71,7 @@
 %patch23 -p1 -b .aligned-sleep
 %patch24 -p1 -b .deadsocket
 %patch25 -p1 -b .default-handler
+%patch26 -p1 -b .va_list
 
 %build
 rm -f configure
@@ -188,6 +190,9 @@
 %{_libdir}/libgpm.so
 
 %changelog
+* Fri Jun 29 2007 Tomas Janousek <tjanouse at redhat.com> - 1.20.1-85
+- applied patch for #246219, fixing segfault with vsyslog on x86_64
+
 * Wed May 23 2007 Tomas Janousek <tjanouse at redhat.com> - 1.20.1-84
 - applied patch for #240389, fixing default handlers
 




More information about the fedora-extras-commits mailing list