OSDN Git Service

Initialize local variables to avoid data leak
authorNaveen Leekha <leekha@google.com>
Wed, 23 Sep 2015 01:04:44 +0000 (18:04 -0700)
committerNaveen Leekha <leekha@google.com>
Wed, 23 Sep 2015 01:04:44 +0000 (18:04 -0700)
The uninitialized local variables pick up
whatever the memory content was there on stack.
This data gets sent to the remote process in
case of a failed transaction, which is a security
issue. Fixed.

(Partial manual merge of master change
 12ba0f57d028a9c8f4eb3afddc326b70677d1e0c. Rest
 to automerge from klp-dev)

For b/23696300

Change-Id: I704c9fab327b3545c58e8a9a96ac542eb7469c2a

libs/gui/IGraphicBufferProducer.cpp

index 1e28f9b..dd9db33 100644 (file)
@@ -344,7 +344,7 @@ status_t BnGraphicBufferProducer::onTransact(
             CHECK_INTERFACE(IGraphicBufferProducer, data, reply);
             sp<GraphicBuffer> buffer = new GraphicBuffer();
             data.read(*buffer.get());
-            int slot;
+            int slot = 0;
             int result = attachBuffer(&slot, buffer);
             reply->writeInt32(slot);
             reply->writeInt32(result);