diff --git a/suite/regress/c-crashers/crash-28-x64-llvm-error-unable-to-evaluate-offset-for-variable.c b/suite/regress/c-crashers/crash-28-x64-llvm-error-unable-to-evaluate-offset-for-variable.c new file mode 100644 index 0000000000000000000000000000000000000000..801a4f449eea2412a4d19b725105313dd2b84442 --- /dev/null +++ b/suite/regress/c-crashers/crash-28-x64-llvm-error-unable-to-evaluate-offset-for-variable.c @@ -0,0 +1,19 @@ +#include <keystone/keystone.h> +int main(int argc, char **argv) { + int ks_arch = KS_ARCH_X86, ks_mode = KS_MODE_64; + unsigned char assembly[] = { + 'x', '=', 'y', '-', '-', 'y', ';', '.', '=', 'x', + '-', 'y', 0x00, + }; + ks_engine *ks; + ks_err err = ks_open(ks_arch, ks_mode, &ks); + if (!err) { + size_t count, size; + unsigned char *insn; + if (ks_asm(ks, (char *)assembly, 0, &insn, &size, &count)) + printf("ERROR: failed on ks_asm() with error = %s, code = %u\n", ks_strerror(ks_errno(ks)), ks_errno(ks)); + ks_free(insn); + } + ks_close(ks); + return 0; +}