[Lldb-commits] [lldb] r173947 - <rdar://problem/12552374> & <rdar://problem/13100674>

Enrico Granata egranata at apple.com
Wed Jan 30 09:44:16 PST 2013


Author: enrico
Date: Wed Jan 30 11:44:16 2013
New Revision: 173947

URL: http://llvm.org/viewvc/llvm-project?rev=173947&view=rev
Log:
<rdar://problem/12552374> & <rdar://problem/13100674>

The vtable pointer field is not necessarily a pointer and hence cannot be used for validation


Modified:
    lldb/trunk/examples/summaries/cocoa/objc_runtime.py

Modified: lldb/trunk/examples/summaries/cocoa/objc_runtime.py
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/examples/summaries/cocoa/objc_runtime.py?rev=173947&r1=173946&r2=173947&view=diff
==============================================================================
--- lldb/trunk/examples/summaries/cocoa/objc_runtime.py (original)
+++ lldb/trunk/examples/summaries/cocoa/objc_runtime.py Wed Jan 30 11:44:16 2013
@@ -242,17 +242,6 @@ class Class_Data_V2:
 			logger >> "Marking as invalid - cachePointer is not allowed"
 			self.valid = 0
 			return
-
-		self.vtablePointer = Utilities.read_child_of(self.valobj,3*self.sys_params.pointer_size,self.sys_params.types_cache.addr_ptr_type)
-		if not(Utilities.is_valid_pointer(self.vtablePointer,self.sys_params.pointer_size,allow_tagged=0)):
-			logger >> "Marking as invalid - vtablePointer is invalid"
-			self.valid = 0
-			return
-		if not(Utilities.is_allowed_pointer(self.vtablePointer)):
-			logger >> "Marking as invalid - vtablePointer is not allowed"
-			self.valid = 0
-			return
-
 		self.dataPointer = Utilities.read_child_of(self.valobj,4*self.sys_params.pointer_size,self.sys_params.types_cache.addr_ptr_type)
 		if not(Utilities.is_valid_pointer(self.dataPointer,self.sys_params.pointer_size,allow_tagged=0)):
 			logger >> "Marking as invalid - dataPointer is invalid"
@@ -321,7 +310,6 @@ class Class_Data_V2:
 		return 'isaPointer = ' + hex(self.isaPointer) + "\n" + \
 		 "superclassIsaPointer = " + hex(self.superclassIsaPointer) + "\n" + \
 		 "cachePointer = " + hex(self.cachePointer) + "\n" + \
-		 "vtablePointer = " + hex(self.vtablePointer) + "\n" + \
 		 "data = " + hex(self.dataPointer)
 
 	def is_tagged(self):





More information about the lldb-commits mailing list