aboutsummaryrefslogtreecommitdiff
path: root/devel/electron37/files/patch-base_process_process__handle__freebsd.cc
diff options
context:
space:
mode:
Diffstat (limited to 'devel/electron37/files/patch-base_process_process__handle__freebsd.cc')
-rw-r--r--devel/electron37/files/patch-base_process_process__handle__freebsd.cc25
1 files changed, 25 insertions, 0 deletions
diff --git a/devel/electron37/files/patch-base_process_process__handle__freebsd.cc b/devel/electron37/files/patch-base_process_process__handle__freebsd.cc
new file mode 100644
index 000000000000..ae98b5669b75
--- /dev/null
+++ b/devel/electron37/files/patch-base_process_process__handle__freebsd.cc
@@ -0,0 +1,25 @@
+--- base/process/process_handle_freebsd.cc.orig 2025-03-24 20:50:14 UTC
++++ base/process/process_handle_freebsd.cc
+@@ -3,6 +3,7 @@
+ // found in the LICENSE file.
+
+ #include "base/process/process_handle.h"
++#include "base/files/file_util.h"
+
+ #include <limits.h>
+ #include <stddef.h>
+@@ -20,10 +21,13 @@ ProcessId GetParentProcessId(ProcessHandle process) {
+
+ ProcessId GetParentProcessId(ProcessHandle process) {
+ struct kinfo_proc info;
+- size_t length;
++ size_t length = sizeof(struct kinfo_proc);
+ int mib[] = {CTL_KERN, KERN_PROC, KERN_PROC_PID, process};
+
+ if (sysctl(mib, std::size(mib), &info, &length, NULL, 0) < 0) {
++ return -1;
++
++ if (length < sizeof(struct kinfo_proc))
+ return -1;
+ }
+