Initialize local variables to avoid data leak

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.

(Manual merge of master change
 12ba0f57d028a9c8f4eb3afddc326b70677d1e0c )

For b/23696300

Change-Id: I665212d10da56f0803b5bb772d14c77e632ba2ab
This commit is contained in:
Naveen Leekha 2015-09-22 17:58:21 -07:00
parent bb686c25b2
commit c1e6fbb52c

View File

@ -201,7 +201,7 @@ status_t BnGraphicBufferProducer::onTransact(
uint32_t h = data.readInt32(); uint32_t h = data.readInt32();
uint32_t format = data.readInt32(); uint32_t format = data.readInt32();
uint32_t usage = data.readInt32(); uint32_t usage = data.readInt32();
int buf; int buf = 0;
sp<Fence> fence; sp<Fence> fence;
int result = dequeueBuffer(&buf, &fence, async, w, h, format, usage); int result = dequeueBuffer(&buf, &fence, async, w, h, format, usage);
reply->writeInt32(buf); reply->writeInt32(buf);
@ -233,7 +233,7 @@ status_t BnGraphicBufferProducer::onTransact(
} break; } break;
case QUERY: { case QUERY: {
CHECK_INTERFACE(IGraphicBufferProducer, data, reply); CHECK_INTERFACE(IGraphicBufferProducer, data, reply);
int value; int value = 0;
int what = data.readInt32(); int what = data.readInt32();
int res = query(what, &value); int res = query(what, &value);
reply->writeInt32(value); reply->writeInt32(value);