summaryrefslogtreecommitdiff
path: root/src/libcamera/stream.cpp
diff options
context:
space:
mode:
authorLaurent Pinchart <laurent.pinchart@ideasonboard.com>2019-07-16 08:36:31 +0300
committerLaurent Pinchart <laurent.pinchart@ideasonboard.com>2019-07-16 08:51:09 +0300
commit124336329c11e1fc1687504fc37f67189a44ee2d (patch)
tree5770ed299cde016eac0763624982991704a438f0 /src/libcamera/stream.cpp
parentd55c8018cdfe6a18aea1f761c8b3f0673d902aff (diff)
libcamera: pipeline: ipu3: Free internal buffers after stopping streaming
The internal buffers between the CIO2 and ImgU are freed by the CIO2Device::stop() method, which is called first when stopping streaming. The ImgUDevice::stop() method is then called, and attempts to report completion for all queued buffers, which we have just freed. The use-after-free corrupts memory, leading to crashes. Fix this by moving the vector of internal buffers to the IPU3CameraData where it belongs, and free the buffers after stopping both devices. Signed-off-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com> Reviewed-by: Niklas Söderlund <niklas.soderlund@ragnatech.se>
Diffstat (limited to 'src/libcamera/stream.cpp')
0 files changed, 0 insertions, 0 deletions