Fix a bug in Dbg::GetClassDescriptor.
The callers were incorrectly assuming we always returned a descriptor, which
isn't true when handed bad input.
Change-Id: I5509d18d8c234d97fa5ec2e0a01d4cdb44acfc55
diff --git a/src/jdwp/jdwp_event.cc b/src/jdwp/jdwp_event.cc
index d68d011..b688993 100644
--- a/src/jdwp/jdwp_event.cc
+++ b/src/jdwp/jdwp_event.cc
@@ -726,7 +726,7 @@
basket.classId = pLoc->classId;
basket.thisPtr = thisPtr;
basket.threadId = Dbg::GetThreadSelfId();
- basket.className = DescriptorToName(Dbg::GetClassDescriptor(pLoc->classId).c_str());
+ basket.className = Dbg::GetClassName(pLoc->classId);
/*
* On rare occasions we may need to execute interpreted code in the VM
@@ -924,7 +924,7 @@
basket.pLoc = pThrowLoc;
basket.classId = pThrowLoc->classId;
basket.threadId = Dbg::GetThreadSelfId();
- basket.className = DescriptorToName(Dbg::GetClassDescriptor(basket.classId).c_str());
+ basket.className = Dbg::GetClassName(basket.classId);
basket.excepClassId = exceptionClassId;
basket.caught = (pCatchLoc->classId != 0);
basket.thisPtr = thisPtr;
@@ -1007,7 +1007,7 @@
memset(&basket, 0, sizeof(basket));
basket.classId = refTypeId;
basket.threadId = Dbg::GetThreadSelfId();
- basket.className = DescriptorToName(Dbg::GetClassDescriptor(basket.classId).c_str());
+ basket.className = Dbg::GetClassName(basket.classId);
/* suppress class prep caused by debugger */
if (InvokeInProgress()) {