[arch-commits] Commit in psmisc/trunk (COMM_LEN-to-18.patch PKGBUILD)
Eric Bélanger
eric at archlinux.org
Fri Feb 3 23:10:56 UTC 2012
Date: Friday, February 3, 2012 @ 18:10:55
Author: eric
Revision: 148577
upgpkg: psmisc 22.15-1
Upstream update, Add patch to fix pstree crash
Added:
psmisc/trunk/COMM_LEN-to-18.patch
Modified:
psmisc/trunk/PKGBUILD
----------------------+
COMM_LEN-to-18.patch | 85 +++++++++++++++++++++++++++++++++++++++++++++++++
PKGBUILD | 11 +++---
2 files changed, 91 insertions(+), 5 deletions(-)
Added: COMM_LEN-to-18.patch
===================================================================
--- COMM_LEN-to-18.patch (rev 0)
+++ COMM_LEN-to-18.patch 2012-02-03 23:10:55 UTC (rev 148577)
@@ -0,0 +1,85 @@
+From: Craig Small <csmall at users.sourceforge.net>
+Date: Fri, 27 Jan 2012 01:02:48 +0000 (+1100)
+Subject: Set COMM_LEN to 18 to include brackets in name
+X-Git-Url: http://psmisc.git.sourceforge.net/git/gitweb.cgi?p=psmisc%2Fpsmisc;a=commitdiff_plain;h=340f81524cb097d814fcf344a3743de17f988e3d
+
+Set COMM_LEN to 18 to include brackets in name
+
+Also use strncpy in case the command names grow.
+---
+
+diff --git a/src/comm.h b/src/comm.h
+index 956383d..2b780b0 100644
+--- a/src/comm.h
++++ b/src/comm.h
+@@ -1,18 +1,37 @@
+-/* comm.h - command name length definition */
+-
+-/* Copyright 1995 Werner Almesberger. See file COPYING for details. */
+-
++/*
++ * comm.h - command name length definition
++ *
++ * Copyright 1995 Werner Almesberger
++ * Copyright 2012 Craig Small <csmall at enc.com.au>
++ *
++ *
++ * This program is free software; you can redistribute it and/or modify
++ * it under the terms of the GNU General Public License as published by
++ * the Free Software Foundation; either version 2 of the License, or
++ * (at your option) any later version.
++ *
++ * This program is distributed in the hope that it will be useful,
++ * but WITHOUT ANY WARRANTY; without even the implied warranty of
++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++ * GNU General Public License for more details.
++ *
++ * You should have received a copy of the GNU General Public License
++ * along with this program; if not, write to the Free Software
++ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
++ */
+
+ #ifndef COMM_H
+ #define COMM_H
+
+-#if 0 /* broken in 1.3.xx */
+-#include <linux/sched.h>
+-#define COMM_LEN sizeof(dummy.comm)
+-extern struct task_struct dummy;
+-#else
+-#define COMM_LEN 16 /* synchronize with size of comm in struct task_struct in
+- /usr/include/linux/sched.h */
++#ifdef HAVE_CONFIG_H
++#include <config.h>
+ #endif
+
++/*
++ * COMM_LEN should be the same size as TASK_COMM_LEN in the Linux source
++ * at include/linux/sched.h
++ * However, that doesn't include the brackets that may be in the field.
++ */
++#define COMM_LEN 18
++
+ #endif
+diff --git a/src/pstree.c b/src/pstree.c
+index 452f823..3129f76 100644
+--- a/src/pstree.c
++++ b/src/pstree.c
+@@ -264,7 +264,7 @@ static PROC *new_proc(const char *comm, pid_t pid, uid_t uid)
+ perror("malloc");
+ exit(1);
+ }
+- strcpy(new->comm, comm);
++ strncpy(new->comm, comm, COMM_LEN);
+ new->pid = pid;
+ new->uid = uid;
+ new->flags = 0;
+@@ -352,7 +352,7 @@ add_proc(const char *comm, pid_t pid, pid_t ppid, uid_t uid,
+ this = new_proc(comm, pid, uid);
+ #endif /*WITH_SELINUX */
+ else {
+- strcpy(this->comm, comm);
++ strncpy(this->comm, comm, COMM_LEN);
+ this->uid = uid;
+ }
+ if (args)
Modified: PKGBUILD
===================================================================
--- PKGBUILD 2012-02-03 22:05:16 UTC (rev 148576)
+++ PKGBUILD 2012-02-03 23:10:55 UTC (rev 148577)
@@ -2,20 +2,21 @@
# Maintainer: Eric Bélanger <eric at archlinux.org>
pkgname=psmisc
-pkgver=22.14
+pkgver=22.15
pkgrel=1
pkgdesc="Miscellaneous procfs tools"
arch=('i686' 'x86_64')
url="http://psmisc.sourceforge.net/index.html"
license=('GPL')
groups=('base')
-depends=('glibc' 'ncurses')
-source=(http://downloads.sourceforge.net/psmisc/${pkgname}-${pkgver}.tar.gz)
-md5sums=('ba3f4e971895c92bba7770d81c981503')
-sha1sums=('dc6fc0ec131c11796d01512bbd80089719b04a66')
+depends=('ncurses')
+source=(http://downloads.sourceforge.net/psmisc/${pkgname}-${pkgver}.tar.gz COMM_LEN-to-18.patch)
+sha1sums=('06f507d889afab70ac7ff20fbd419ca2ffcf90c0'
+ '6f45338fc34e453bea5273691a0cf81ed3e20fb8')
build() {
cd "${srcdir}/${pkgname}-${pkgver}"
+ patch -p1 -i ../COMM_LEN-to-18.patch
./configure --prefix=/usr
make
}
More information about the arch-commits
mailing list