This commit is contained in:
Jakub Jelinek 2007-02-13 12:33:04 +00:00
parent 8f5f0f5e94
commit e6fdd7ea39
5 changed files with 60 additions and 20 deletions

View File

@ -1 +1 @@
valgrind-3.2.1.tar.bz2
valgrind-3.2.3.tar.bz2

View File

@ -1 +1 @@
9407d33961186814cef0e6ecedfd6318 valgrind-3.2.1.tar.bz2
978847992b136c8d8cb5c6559a91df1c valgrind-3.2.3.tar.bz2

View File

@ -1,5 +1,5 @@
--- valgrind-3.2.3/cg_sim.c.jj 2007-01-08 02:43:10.000000000 -0500
+++ valgrind-3.2.3/cg_sim.c 2007-02-13 07:15:46.000000000 -0500
--- valgrind-3.2.3/cachegrind/cg_sim.c.jj 2007-01-08 02:43:10.000000000 -0500
+++ valgrind-3.2.3/cachegrind/cg_sim.c 2007-02-13 07:15:46.000000000 -0500
@@ -42,29 +42,32 @@ typedef struct {
Int size; /* bytes */
Int assoc;

View File

@ -0,0 +1,49 @@
Testcase:
#define _GNU_SOURCE
#include <fcntl.h>
#include <unistd.h>
int
main (void)
{
int dfd = open ("/tmp", O_RDONLY);
int fd1 = openat (dfd, "abc", O_RDONLY);
int fd2 = openat (0x12345678, "/tmp/abc", O_RDONLY);
int fd3 = openat (AT_FDCWD, "abc", O_RDONLY);
/* This is the only one that should warn. */
int fd4 = openat (0x12345678, "abc", O_RDONLY);
return 0;
}
--- valgrind-3.2.3/include/vki-linux.h.jj 2006-08-28 15:38:37.000000000 +0200
+++ valgrind-3.2.3/include/vki-linux.h 2006-09-26 18:29:00.000000000 +0200
@@ -1223,6 +1223,8 @@ struct vki_dirent {
#define VKI_F_NOTIFY (VKI_F_LINUX_SPECIFIC_BASE+2)
+#define VKI_AT_FDCWD -100
+
//----------------------------------------------------------------------
// From linux-2.6.8.1/include/linux/sysctl.h
//----------------------------------------------------------------------
--- valgrind-3.2.3/coregrind/m_syswrap/syswrap-linux.c.jj 2006-08-28 15:38:57.000000000 +0200
+++ valgrind-3.2.3/coregrind/m_syswrap/syswrap-linux.c 2006-09-26 18:42:04.000000000 +0200
@@ -2350,10 +2350,15 @@ PRE(sys_openat)
int, dfd, const char *, filename, int, flags);
}
- if (!ML_(fd_allowed)(ARG1, "openat", tid, False))
+ PRE_MEM_RASCIIZ( "openat(filename)", ARG2 );
+
+ /* For absolute filenames, dfd is ignored. If dfd is AT_FDCWD,
+ filename is relative to cwd. */
+ if (ML_(safe_to_deref)( (void*)ARG2, 1 )
+ && *(Char *)ARG2 != '/'
+ && ARG1 != VKI_AT_FDCWD
+ && !ML_(fd_allowed)(ARG1, "openat", tid, False))
SET_STATUS_Failure( VKI_EBADF );
- else
- PRE_MEM_RASCIIZ( "openat(filename)", ARG2 );
/* Handle the case where the open is of /proc/self/cmdline or
/proc/<pid>/cmdline, and just give it a copy of the fd for the

View File

@ -1,17 +1,11 @@
Summary: Tool for finding memory management bugs in programs
Name: valgrind
Version: 3.2.1
Release: 7
Version: 3.2.3
Release: 1
Epoch: 1
Source0: http://www.valgrind.org/downloads/valgrind-%{version}.tar.bz2
Patch1: valgrind-3.2.0-makefile.patch
Patch2: valgrind-3.2.1-openat.patch
Patch3: valgrind-3.2.1-cfa-set-loc.patch
Patch4: valgrind-3.2.1-glibc25.patch
Patch5: valgrind-3.2.1-ppc-pagesize.patch
Patch6: valgrind-3.2.1-intel-cache-sizes.patch
Patch7: valgrind-3.2.1-pkg-config.patch
Patch8: valgrind-3.2.1-cachegrind-improvements.patch
Patch1: valgrind-3.2.3-openat.patch
Patch2: valgrind-3.2.3-cachegrind-improvements.patch
License: GPL
URL: http://www.valgrind.org/
Group: Development/Debuggers
@ -42,12 +36,6 @@ find/diagnose.
%setup -q
%patch1 -p1
%patch2 -p1
%patch3 -p1
%patch4 -p1
%patch5 -p1
%patch6 -p1
%patch7 -p1
%patch8 -p1
%build
%ifarch x86_64 ppc64
@ -131,6 +119,9 @@ rm -rf $RPM_BUILD_ROOT
%{_mandir}/man1/valgrind*
%changelog
* Tue Feb 13 2007 Jakub Jelinek <jakub@redhat.com> 3.2.3-1
- update to 3.2.3
* Wed Nov 8 2006 Jakub Jelinek <jakub@redhat.com> 3.2.1-7
- some cachegrind improvements (Ulrich Drepper)