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/utils.cc b/src/utils.cc
index f599c0e..5348558 100644
--- a/src/utils.cc
+++ b/src/utils.cc
@@ -382,9 +382,9 @@
std::string DescriptorToName(const char* descriptor) {
size_t length = strlen(descriptor);
- DCHECK_GT(length, 0U);
- DCHECK_EQ(descriptor[0], 'L');
- DCHECK_EQ(descriptor[length - 1], ';');
+ CHECK_GT(length, 0U) << descriptor;
+ CHECK_EQ(descriptor[0], 'L') << descriptor;
+ CHECK_EQ(descriptor[length - 1], ';') << descriptor;
std::string result(descriptor + 1, length - 2);
return result;
}
@@ -787,7 +787,7 @@
std::string GetArtCacheFilenameOrDie(const std::string& location) {
std::string art_cache(GetArtCacheOrDie());
- CHECK_EQ(location[0], '/');
+ CHECK_EQ(location[0], '/') << location;
std::string cache_file(location, 1); // skip leading slash
std::replace(cache_file.begin(), cache_file.end(), '/', '@');
return art_cache + "/" + cache_file;