Fix for issue 28721.

Change-Id: I8669d5ae5719b2fdd0e8d05aed7da8e55568463d
http://code.google.com/p/android/issues/detail?id=28721
diff --git a/src/dynamic_cast.cc b/src/dynamic_cast.cc
index 4487fff..2dacac8 100644
--- a/src/dynamic_cast.cc
+++ b/src/dynamic_cast.cc
@@ -320,7 +320,7 @@
         // If it is known that v points to a public base class subobject
         // of a T object, simply adjust the pointer by the offset.
         if (t_object != ambiguous_object && src2dst_offset >= 0)
-          return const_cast<void*>(adjust_pointer(v, src2dst_offset));
+          return const_cast<void*>(adjust_pointer(v, -src2dst_offset));
 
         // If there is only one T type subobject, we only need to look at
         // there.  Otherwise, look for the subobject referred by v in the