summaryrefslogtreecommitdiffstats
path: root/media/libstagefright/wifi-display/ANetworkSession.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'media/libstagefright/wifi-display/ANetworkSession.cpp')
-rw-r--r--media/libstagefright/wifi-display/ANetworkSession.cpp8
1 files changed, 6 insertions, 2 deletions
diff --git a/media/libstagefright/wifi-display/ANetworkSession.cpp b/media/libstagefright/wifi-display/ANetworkSession.cpp
index 4ddd778..1c4f535 100644
--- a/media/libstagefright/wifi-display/ANetworkSession.cpp
+++ b/media/libstagefright/wifi-display/ANetworkSession.cpp
@@ -331,11 +331,15 @@ status_t ANetworkSession::Session::readMore() {
notify->post();
#if 1
- // XXX The dongle sends the wrong content length header on a
+ // XXX The (old) dongle sends the wrong content length header on a
// SET_PARAMETER request that signals a "wfd_idr_request".
// (17 instead of 19).
const char *content = msg->getContent();
- if (content && !memcmp(content, "wfd_idr_request\r\n", 17)) {
+ if (content
+ && !memcmp(content, "wfd_idr_request\r\n", 17)
+ && length >= 19
+ && mInBuffer.c_str()[length] == '\r'
+ && mInBuffer.c_str()[length + 1] == '\n') {
length += 2;
}
#endif