|
From: <sv...@va...> - 2007-01-07 01:49:40
|
Author: sewardj
Date: 2007-01-07 01:49:31 +0000 (Sun, 07 Jan 2007)
New Revision: 6480
Log:
parse_procselfmaps: don't hand zero-length mappings to
*record_mapping, since they can't really be represented by the segment
table herein, and are mistaken for a mapping which covers the entire
address space. Intended to fix #132998, but fix has not been
verified. It does not appear to cause any other failures though.
Modified:
branches/VALGRIND_3_2_BRANCH/coregrind/m_aspacemgr/aspacemgr.c
Modified: branches/VALGRIND_3_2_BRANCH/coregrind/m_aspacemgr/aspacemgr.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- branches/VALGRIND_3_2_BRANCH/coregrind/m_aspacemgr/aspacemgr.c 2007-0=
1-06 06:30:48 UTC (rev 6479)
+++ branches/VALGRIND_3_2_BRANCH/coregrind/m_aspacemgr/aspacemgr.c 2007-0=
1-07 01:49:31 UTC (rev 6480)
@@ -3412,9 +3412,10 @@
if (record_gap && gapStart < start)
(*record_gap) ( gapStart, start-gapStart );
=20
- (*record_mapping) ( start, endPlusOne-start,=20
- prot, dev, ino,
- foffset, filename );
+ if (record_mapping && start < endPlusOne)
+ (*record_mapping) ( start, endPlusOne-start,=20
+ prot, dev, ino,
+ foffset, filename );
=20
if ('\0' !=3D tmp) {
filename[i_eol - i] =3D tmp;
|