Fail to parse duration instead of asserting, if the server response cannot be parsed.
Change-Id: I95c61ed83800db82e99c0023b942fb8ae05ed3cf
related-to-bug: 3338518
diff --git a/media/libstagefright/rtsp/ASessionDescription.cpp b/media/libstagefright/rtsp/ASessionDescription.cpp
index 5472bffb..0d0234b 100644
--- a/media/libstagefright/rtsp/ASessionDescription.cpp
+++ b/media/libstagefright/rtsp/ASessionDescription.cpp
@@ -265,15 +265,17 @@
const char *s = value.c_str() + 4;
char *end;
double from = strtod(s, &end);
- CHECK_GT(end, s);
- CHECK_EQ(*end, '-');
+
+ if (end == s || *end != '-') {
+ return false;
+ }
s = end + 1;
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);