summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--media/libmedia/IHDCP.cpp11
1 files changed, 6 insertions, 5 deletions
diff --git a/media/libmedia/IHDCP.cpp b/media/libmedia/IHDCP.cpp
index a46017ff9d..c608175ddd 100644
--- a/media/libmedia/IHDCP.cpp
+++ b/media/libmedia/IHDCP.cpp
@@ -333,11 +333,12 @@ status_t BnHDCP::onTransact(
void *outData = (uint8_t *)inData + size;
- data.read(inData, size);
-
- uint32_t streamCTR = data.readInt32();
- uint64_t inputCTR = data.readInt64();
- status_t err = decrypt(inData, size, streamCTR, inputCTR, outData);
+ status_t err = data.read(inData, size);
+ if (err == OK) {
+ uint32_t streamCTR = data.readInt32();
+ uint64_t inputCTR = data.readInt64();
+ err = decrypt(inData, size, streamCTR, inputCTR, outData);
+ }
reply->writeInt32(err);