* thread.cc (verifyable_object_isvalid): Check for NULL specifically.
This commit is contained in:
		@@ -1,3 +1,7 @@
 | 
			
		||||
2006-05-27  Christopher Faylor  <cgf@timesys.com>
 | 
			
		||||
 | 
			
		||||
	* thread.cc (verifyable_object_isvalid): Check for NULL specifically.
 | 
			
		||||
 | 
			
		||||
2006-05-27  Christopher Faylor  <cgf@timesys.com>
 | 
			
		||||
 | 
			
		||||
	* dll_init.cc (dll_dllcrt0): Call _my_tls.init_exception_handler if
 | 
			
		||||
 
 | 
			
		||||
@@ -113,15 +113,17 @@ __cygwin_lock_unlock (_LOCK_T *lock)
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
static inline verifyable_object_state
 | 
			
		||||
verifyable_object_isvalid (void const * objectptr, long magic, void *static_ptr1,
 | 
			
		||||
verifyable_object_isvalid (void const *objectptr, long magic, void *static_ptr1,
 | 
			
		||||
			   void *static_ptr2, void *static_ptr3)
 | 
			
		||||
{
 | 
			
		||||
  verifyable_object **object = (verifyable_object **) objectptr;
 | 
			
		||||
 | 
			
		||||
  myfault efault;
 | 
			
		||||
  if (efault.faulted ())
 | 
			
		||||
  /* Check for NULL pointer specifically since it is a cheap test and avoids the
 | 
			
		||||
     overhead of setting up the fault handler.  */
 | 
			
		||||
  if (!objectptr || efault.faulted ())
 | 
			
		||||
    return INVALID_OBJECT;
 | 
			
		||||
 | 
			
		||||
  verifyable_object **object = (verifyable_object **) objectptr;
 | 
			
		||||
 | 
			
		||||
  if ((static_ptr1 && *object == static_ptr1) ||
 | 
			
		||||
      (static_ptr2 && *object == static_ptr2) ||
 | 
			
		||||
      (static_ptr3 && *object == static_ptr3))
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user