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.cpp14
1 files changed, 10 insertions, 4 deletions
diff --git a/media/libmedia/IMediaHTTPConnection.cpp b/media/libmedia/IMediaHTTPConnection.cpp
index a5a3714..0dda0be 100644
--- a/media/libmedia/IMediaHTTPConnection.cpp
+++ b/media/libmedia/IMediaHTTPConnection.cpp
@@ -70,7 +70,7 @@ struct BpMediaHTTPConnection : public BpInterface<IMediaHTTPConnection> {
int32_t exceptionCode = reply.readExceptionCode();
if (exceptionCode) {
- return UNKNOWN_ERROR;
+ return false;
}
sp<IBinder> binder = reply.readStrongBinder();
@@ -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);
@@ -186,5 +193,4 @@ private:
IMPLEMENT_META_INTERFACE(
MediaHTTPConnection, "android.media.IMediaHTTPConnection");
-} // namespace android
-
+} // namespace android