Merge "Fail to parse duration instead of asserting, if the server response cannot be parsed." into honeycomb
This commit is contained in:
committed by
Android (Google) Code Review
commit
7928ca6f87
@@ -265,15 +265,17 @@ bool ASessionDescription::getDurationUs(int64_t *durationUs) const {
|
|||||||
const char *s = value.c_str() + 4;
|
const char *s = value.c_str() + 4;
|
||||||
char *end;
|
char *end;
|
||||||
double from = strtod(s, &end);
|
double from = strtod(s, &end);
|
||||||
CHECK_GT(end, s);
|
|
||||||
CHECK_EQ(*end, '-');
|
if (end == s || *end != '-') {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
s = end + 1;
|
s = end + 1;
|
||||||
double to = strtod(s, &end);
|
double to = strtod(s, &end);
|
||||||
CHECK_GT(end, s);
|
|
||||||
CHECK_EQ(*end, '\0');
|
|
||||||
|
|
||||||
CHECK_GE(to, from);
|
if (end == s || *end != '\0' || to < from) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
*durationUs = (int64_t)((to - from) * 1E6);
|
*durationUs = (int64_t)((to - from) * 1E6);
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user