summaryrefslogtreecommitdiffstats
path: root/media/libmedia/IMediaHTTPConnection.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'media/libmedia/IMediaHTTPConnection.cpp')
-rw-r--r--media/libmedia/IMediaHTTPConnection.cpp9
1 files changed, 8 insertions, 1 deletions
diff --git a/media/libmedia/IMediaHTTPConnection.cpp b/media/libmedia/IMediaHTTPConnection.cpp
index 7e89d7f..0dda0be 100644
--- a/media/libmedia/IMediaHTTPConnection.cpp
+++ b/media/libmedia/IMediaHTTPConnection.cpp
@@ -107,7 +107,14 @@ struct BpMediaHTTPConnection : public BpInterface<IMediaHTTPConnection> {
return UNKNOWN_ERROR;
}
- size_t len = reply.readInt32();
+ int32_t lenOrErrorCode = reply.readInt32();
+
+ // Negative values are error codes
+ if (lenOrErrorCode < 0) {
+ return lenOrErrorCode;
+ }
+
+ size_t len = lenOrErrorCode;
if (len > size) {
ALOGE("requested %zu, got %zu", size, len);