intel-xed: add patch to 12.0.1 to fix segfault (#21436)

Fix segfault due to uninitialized data when trying to decode some cases of data that aren't a valid instruction.
This commit is contained in:
Mark W. Krentel 2021-02-02 14:40:24 -06:00 committed by GitHub
parent 7dcf3f7aed
commit 040204c261
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 20 additions and 0 deletions

View file

@ -0,0 +1,18 @@
Fix segfault due to uninitialized data when trying to decode some cases
of data that aren't a valid instruction.
https://github.com/intelxed/xed/commit/5c54699f78ba1e3ce7e0cc6dead0088a8dd09c56
diff --git a/src/dec/xed-decoded-init.c b/src/dec/xed-decoded-init.c
index b0d4db1..fc226d2 100644
--- a/src/dec/xed-decoded-init.c
+++ b/src/dec/xed-decoded-init.c
@@ -46,6 +46,7 @@ xed_decoded_inst_zero_keep_mode_from_operands(
xed_operand_values_init_keep_mode(p, operands);
p->_decoded_length = 0;
p->_inst = 0;
+ p->u.user_data = 0;
}
XED_DLL_EXPORT void

View file

@ -38,6 +38,8 @@ class IntelXed(Package):
# The current mfile uses python3 by name. # The current mfile uses python3 by name.
depends_on('python@3.4:', type='build') depends_on('python@3.4:', type='build')
patch('1201-segv.patch', when='@12.0.1')
conflicts('target=ppc64:', msg='intel-xed only runs on x86') conflicts('target=ppc64:', msg='intel-xed only runs on x86')
conflicts('target=ppc64le:', msg='intel-xed only runs on x86') conflicts('target=ppc64le:', msg='intel-xed only runs on x86')
conflicts('target=aarch64:', msg='intel-xed only runs on x86') conflicts('target=aarch64:', msg='intel-xed only runs on x86')