orcx86: Don't hard-code register size to zero in orc_x86_emit_*() functions
authorIgor Rondarev <igor.rondarev@gmail.com>
Tue, 28 Feb 2017 09:23:55 +0000 (12:23 +0300)
committerSebastian Dröge <sebastian@centricular.com>
Tue, 28 Feb 2017 10:42:07 +0000 (12:42 +0200)
Instead use the size passed as argument. Fixes segmentation fault on QNX.

https://bugzilla.gnome.org/show_bug.cgi?id=779319

orc/orcx86.c

index 66af943..02e6b34 100644 (file)
@@ -126,13 +126,13 @@ orc_x86_get_regname_size(int i, int size)
 void
 orc_x86_emit_push (OrcCompiler *compiler, int size, int reg)
 {
-  orc_x86_emit_cpuinsn_size (compiler, ORC_X86_push, 0, reg, reg);
+  orc_x86_emit_cpuinsn_size (compiler, ORC_X86_push, size, reg, reg);
 }
 
 void
 orc_x86_emit_pop (OrcCompiler *compiler, int size, int reg)
 {
-  orc_x86_emit_cpuinsn_size (compiler, ORC_X86_pop, 0, reg, reg);
+  orc_x86_emit_cpuinsn_size (compiler, ORC_X86_pop, size, reg, reg);
 }
 
 #define X86_MODRM(mod, rm, reg) ((((mod)&3)<<6)|(((rm)&7)<<0)|(((reg)&7)<<3))