svn commit: r257300 - head/lib/libproc

Mark Johnston markj at FreeBSD.org
Tue Oct 29 03:52:06 UTC 2013


Author: markj
Date: Tue Oct 29 03:52:05 2013
New Revision: 257300
URL: http://svnweb.freebsd.org/changeset/base/257300

Log:
  Fix an off-by-one error when checking whether a given address is within
  the extent of a symbol.
  
  Submitted by:	Prashanth Kumar <pra_udupi at yahoo.co.in>
  Reviewed by:	rpaulo
  MFC after:	1 week

Modified:
  head/lib/libproc/proc_sym.c

Modified: head/lib/libproc/proc_sym.c
==============================================================================
--- head/lib/libproc/proc_sym.c	Tue Oct 29 03:42:43 2013	(r257299)
+++ head/lib/libproc/proc_sym.c	Tue Oct 29 03:52:05 2013	(r257300)
@@ -285,7 +285,7 @@ proc_addr2sym(struct proc_handle *p, uin
 		 * by rtld.
 		 */
 		rsym = map->pr_vaddr + sym.st_value;
-		if (addr >= rsym && addr <= (rsym + sym.st_size)) {
+		if (addr >= rsym && addr < rsym + sym.st_size) {
 			s = elf_strptr(e, dynsymstridx, sym.st_name);
 			if (s) {
 				if (s[0] == '_' && s[1] == 'Z' && s[2])
@@ -325,7 +325,7 @@ symtab:
 			rsym = map->pr_vaddr + sym.st_value;
 		else
 			rsym = sym.st_value;
-		if (addr >= rsym && addr <= (rsym + sym.st_size)) {
+		if (addr >= rsym && addr < rsym + sym.st_size) {
 			s = elf_strptr(e, symtabstridx, sym.st_name);
 			if (s) {
 				if (s[0] == '_' && s[1] == 'Z' && s[2])


More information about the svn-src-head mailing list