1
0
Fork 0

greybus: camera: fix memory leak in capture-request handler

Fix memory leak in capture-request handler by making sure to release the
operation request buffer after sending the request.

Signed-off-by: Johan Hovold <johan@hovoldconsulting.com>
Reviewed-by: Laurent Pinchart <laurent.pinchart@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
hifive-unleashed-5.1
Johan Hovold 2015-12-30 11:08:01 +01:00 committed by Greg Kroah-Hartman
parent 12c8b0dcc8
commit b9f71bc854
1 changed files with 6 additions and 1 deletions

View File

@ -183,6 +183,7 @@ static int gb_camera_capture(struct gb_camera *gcam, u32 request_id,
{
struct gb_camera_capture_request *req;
size_t req_size;
int ret;
if (settings_size > GB_CAMERA_MAX_SETTINGS_SIZE)
return -EINVAL;
@ -198,8 +199,12 @@ static int gb_camera_capture(struct gb_camera *gcam, u32 request_id,
req->num_frames = cpu_to_le16(num_frames);
memcpy(req->settings, settings, settings_size);
return gb_operation_sync(gcam->connection, GB_CAMERA_TYPE_CAPTURE,
ret = gb_operation_sync(gcam->connection, GB_CAMERA_TYPE_CAPTURE,
req, req_size, NULL, 0);
kfree(req);
return ret;
}
static int gb_camera_flush(struct gb_camera *gcam, u32 *request_id)