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>
{
struct gb_camera_capture_request *req;
size_t req_size;
+ int ret;
if (settings_size > GB_CAMERA_MAX_SETTINGS_SIZE)
return -EINVAL;
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)