diff --git a/recipes/breakpad/all/conandata.yml b/recipes/breakpad/all/conandata.yml index da051fdc78d51..6793f8f71cb91 100644 --- a/recipes/breakpad/all/conandata.yml +++ b/recipes/breakpad/all/conandata.yml @@ -7,3 +7,5 @@ patches: - patch_file: "patches/0001-Use_conans_lss.patch" - patch_file: "patches/0002-Remove-hardcoded-fpic.patch" - patch_file: "patches/0003-Fix-gcc11-compilation.patch" + - patch_file: "patches/0004-Fix-gcc13-compilation.patch" + - patch_file: "patches/0005-Apply-upstream-fixes.patch" diff --git a/recipes/breakpad/all/patches/0004-Fix-gcc13-compilation.patch b/recipes/breakpad/all/patches/0004-Fix-gcc13-compilation.patch new file mode 100644 index 0000000000000..01bc339d5581d --- /dev/null +++ b/recipes/breakpad/all/patches/0004-Fix-gcc13-compilation.patch @@ -0,0 +1,10 @@ +--- a/src/client/linux/handler/minidump_descriptor.h ++++ b/src/client/linux/handler/minidump_descriptor.h +@@ -30,6 +30,7 @@ + #ifndef CLIENT_LINUX_HANDLER_MINIDUMP_DESCRIPTOR_H_ + #define CLIENT_LINUX_HANDLER_MINIDUMP_DESCRIPTOR_H_ + ++#include + #include + #include + diff --git a/recipes/breakpad/all/patches/0005-Apply-upstream-fixes.patch b/recipes/breakpad/all/patches/0005-Apply-upstream-fixes.patch new file mode 100644 index 0000000000000..631bde13234de --- /dev/null +++ b/recipes/breakpad/all/patches/0005-Apply-upstream-fixes.patch @@ -0,0 +1,24 @@ +--- a/src/processor/exploitability_linux.cc ++++ b/src/processor/exploitability_linux.cc +@@ -516,18 +516,17 @@ + raw_bytes_tmpfile); + FILE* objdump_fp = popen(cmd, "r"); + if (!objdump_fp) { +- fclose(objdump_fp); + unlink(raw_bytes_tmpfile); + BPLOG(ERROR) << "Failed to call objdump."; + return false; + } +- if (fread(objdump_output_buffer, 1, buffer_len, objdump_fp) <= 0) { +- fclose(objdump_fp); ++ if (fread(objdump_output_buffer, 1, buffer_len, objdump_fp) != buffer_len) { ++ pclose(objdump_fp); + unlink(raw_bytes_tmpfile); + BPLOG(ERROR) << "Failed to read objdump output."; + return false; + } +- fclose(objdump_fp); ++ pclose(objdump_fp); + unlink(raw_bytes_tmpfile); + return true; + }