From 436b38fd89fe4324d2342084ef477a7a8809a001 Mon Sep 17 00:00:00 2001 From: Laurent Pinchart Date: Sun, 26 Mar 2023 12:49:32 +0300 Subject: libcamera: Open files with O_CLOEXEC Files opened internally in libcamera without the O_CLOEXEC file will remain open upon a call to one of the exec(3) functions. As exec() doesn't destroy local or global objects, this can lead to various side effects. Avoid this by opening file descriptors with O_CLOEXEC for all internal files. Signed-off-by: Laurent Pinchart Reviewed-by: Umang Jain Reviewed-by: Kieran Bingham --- src/ipa/vimc/vimc.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/ipa/vimc') diff --git a/src/ipa/vimc/vimc.cpp b/src/ipa/vimc/vimc.cpp index d5fabaf1..2c255778 100644 --- a/src/ipa/vimc/vimc.cpp +++ b/src/ipa/vimc/vimc.cpp @@ -168,7 +168,7 @@ void IPAVimc::initTrace() if (ret) return; - ret = ::open(ipa::vimc::VimcIPAFIFOPath.c_str(), O_WRONLY); + ret = ::open(ipa::vimc::VimcIPAFIFOPath.c_str(), O_WRONLY | O_CLOEXEC); if (ret < 0) { ret = errno; LOG(IPAVimc, Error) << "Failed to open vimc IPA test FIFO: " -- cgit v1.2.1