[libbsd] Quick and dirty patch attempting to eliminate another setproctitle() crash, bug #981799.

Eric Smith brouhaha at fedoraproject.org
Mon Jul 8 03:38:01 UTC 2013


commit df3c31c11c76122fe94acc5aa309aacfa8ae28fa
Author: Eric Smith <eric at brouhaha.com>
Date:   Sun Jul 7 21:35:01 2013 -0600

    Quick and dirty patch attempting to eliminate another setproctitle() crash, bug #981799.

 libbsd-0.5.2-nosetproctitle.patch |   40 +++++++++++++++++++++++++++++++++++++
 libbsd.spec                       |    8 ++++++-
 2 files changed, 47 insertions(+), 1 deletions(-)
---
diff --git a/libbsd-0.5.2-nosetproctitle.patch b/libbsd-0.5.2-nosetproctitle.patch
new file mode 100644
index 0000000..46bec22
--- /dev/null
+++ b/libbsd-0.5.2-nosetproctitle.patch
@@ -0,0 +1,40 @@
+diff -up libbsd-0.5.2/src/setproctitle.c.nosetproctitle libbsd-0.5.2/src/setproctitle.c
+--- libbsd-0.5.2/src/setproctitle.c.nosetproctitle	2013-07-07 21:26:04.407952595 -0600
++++ libbsd-0.5.2/src/setproctitle.c	2013-07-07 21:28:56.859945939 -0600
+@@ -1,3 +1,4 @@
++#define NO_SETPROCTITLE
+ /*
+  * Copyright © 2010 William Ahern
+  * Copyright © 2012-2013 Guillem Jover <guillem at hadrons.org>
+@@ -156,6 +157,7 @@ spt_copyargs(int argc, char *argv[])
+ static void
+ spt_init(int argc, char *argv[], char *envp[])
+ {
++#ifdef NO_SETPROCTITLE
+ 	char *base, *end, *nul, *tmp;
+ 	int i, envc, error;
+ 
+@@ -213,6 +215,7 @@ spt_init(int argc, char *argv[], char *e
+ 	SPT.nul  = nul;
+ 	SPT.base = base;
+ 	SPT.end  = end;
++#endif // NO_SETPROCTITLE
+ }
+ 
+ /*
+@@ -230,6 +233,7 @@ void (*spt_init_func)(int argc, char *ar
+ void
+ setproctitle_impl(const char *fmt, ...)
+ {
++#ifdef NO_SETPROCTITLE
+ 	/* Use buffer in case argv[0] is passed. */
+ 	char buf[SPT_MAXTITLE + 1];
+ 	va_list ap;
+@@ -279,6 +283,7 @@ setproctitle_impl(const char *fmt, ...)
+ 		*SPT.nul = ' ';
+ 		*++nul = '\0';
+ 	}
++#endif // NO_SETPROCTITLE
+ }
+ __asm__(".symver setproctitle_impl,setproctitle@@LIBBSD_0.5");
+ 
diff --git a/libbsd.spec b/libbsd.spec
index 4507359..f181d29 100644
--- a/libbsd.spec
+++ b/libbsd.spec
@@ -1,6 +1,6 @@
 Name:		libbsd
 Version:	0.5.2
-Release:	2%{?dist}
+Release:	3%{?dist}
 Summary:	Library providing BSD-compatible functions for portability
 URL:		http://libbsd.freedesktop.org/
 License:	BSD and ISC and Copyright only and Public Domain
@@ -8,6 +8,7 @@ Group:		System Environment/Libraries
 # BuildRoot tag necessary for EL5 only:
 BuildRoot:	%(mktemp -ud %{_tmppath}/%{name}-%{version}-%{release}-XXXXXX)
 Source0:	http://libbsd.freedesktop.org/releases/libbsd-%{version}.tar.xz
+Patch0:		libbsd-0.5.2-nosetproctitle.patch     
 
 %description
 libbsd provides useful functions commonly found on BSD systems, and
@@ -26,6 +27,7 @@ Development files for the libbsd library.
 
 %prep
 %setup -q
+%patch0 -p1 -b .nosetproctitle
 
 %configure
 
@@ -67,6 +69,10 @@ rm %{buildroot}%{_libdir}/%{name}.la
 %{_libdir}/pkgconfig/%{name}-overlay.pc
 
 %changelog
+* Sun Jul 07 2013 Eric Smith <brouhaha at fedoraproject.org> - 0.5.2-3
+- Still having problems with setproctitle(), bug #981799, upstream
+  freedesktop.org bug #66679. Added patch to noop out setproctitle().
+
 * Tue Jun 11 2013 Eric Smith <brouhaha at fedoraproject.org> - 0.5.2-2
 - Added check section.
 - Add BuildRoot for EL5.


More information about the scm-commits mailing list