OSDN Git Service

gbm_gralloc: Remove the invalid int cast and assignment in gbm_mod_perform()
authorJohn Stultz <john.stultz@linaro.org>
Wed, 29 Mar 2017 03:48:36 +0000 (20:48 -0700)
committerRob Herring <robh@kernel.org>
Wed, 29 Mar 2017 12:57:33 +0000 (07:57 -0500)
commit95c1cfb06d41535841520e3ea8f625252fa576b9
treea5ca350932e39c63873be9ba4c4d2809a62b5b47
parente4017f7e1c07edc51d16735c7a5491c4253f2777
gbm_gralloc: Remove the invalid int cast and assignment in gbm_mod_perform()

In gbm_mod_perform(), for the cmd GRALLOC_MODULE_PERFORM_GET_USAGE,
the code takes the third argument, casts it as an int* and then writes
a zero into what the pointer points to.

The problem with this is that the third argument to that function is
actually a native_handle_t, so writing zero to the first int in that
structure ends up overwriting the version value, causing the
native_handle_t code to see the value as corrupt.

This results in lots of warnings and leaked fds.

Change-Id: If64770c164557b467f76ca97ddc182565730d394
Cc: Rob Herring <rob.herring@linaro.org>
Cc: Amit Pundir <amit.pundir@linaro.org>
Cc: Sumit Semwal <sumit.semwal@linaro.org>
Cc: Vishal Bhoj <vishal.bhoj@linaro.org>
Signed-off-by: John Stultz <john.stultz@linaro.org>
Signed-off-by: Rob Herring <robh@kernel.org>
gralloc.cpp