In streaming_set_m2m, make sure to close all file pointers
and file descriptors before returning.

Signed-off-by: Dafna Hirschfeld <daf...@gmail.com>
---
 utils/v4l2-ctl/v4l2-ctl-streaming.cpp | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/utils/v4l2-ctl/v4l2-ctl-streaming.cpp 
b/utils/v4l2-ctl/v4l2-ctl-streaming.cpp
index 0eda8449..ee84abbe 100644
--- a/utils/v4l2-ctl/v4l2-ctl-streaming.cpp
+++ b/utils/v4l2-ctl/v4l2-ctl-streaming.cpp
@@ -2141,18 +2141,19 @@ static void streaming_set_m2m(cv4l_fd &fd, cv4l_fd 
&exp_fd)
 
        if (options[OptStreamDmaBuf]) {
                if (exp_q.reqbufs(&exp_fd, reqbufs_count_cap))
-                       return;
+                       goto done;
                exp_fd_p = &exp_fd;
        }
 
        if (options[OptStreamOutDmaBuf]) {
                if (exp_q.reqbufs(&exp_fd, reqbufs_count_out))
-                       return;
+                       goto done;
                if (out.export_bufs(&exp_fd, exp_fd.g_type()))
-                       return;
+                       goto done;
        }
        stateful_m2m(fd, in, out, file[CAP], file[OUT], exp_fd_p);
 
+done:
        if (options[OptStreamDmaBuf] || options[OptStreamOutDmaBuf])
                exp_q.close_exported_fds();
 
-- 
2.17.1

Reply via email to