diff --git a/suite/regress/c-crashers/crash-14-invalid-accessor.c b/suite/regress/c-crashers/crash-14-invalid-accessor.c new file mode 100644 index 0000000000000000000000000000000000000000..5de83a9c488ccde668ba4648a01f355faacc906e --- /dev/null +++ b/suite/regress/c-crashers/crash-14-invalid-accessor.c @@ -0,0 +1,18 @@ +#include <keystone/keystone.h> +int main(int argc, char **argv) { + int ks_arch = KS_ARCH_SYSTEMZ, ks_mode = KS_MODE_LITTLE_ENDIAN; + unsigned char assembly[] = { + 'A', 'A', 'F', '=', 'A', 'A', '-', '-', 'A', 0x0a, + 'F', '=', 'A', 'd', '-', '5', ';', '.', '=', 'A', + 'A', 'F', '-', 'A', 'A', 'F', 0x00, + }; + ks_engine *ks; + ks_err err = ks_open(ks_arch, ks_mode, &ks); + if (!err) { + size_t count, size; + unsigned char *insn; + ks_asm(ks, (char *)assembly, 0, &insn, &size, &count); + ks_free(insn); + } + ks_close(ks); +} diff --git a/suite/regress/c-crashers/crash-15-expected-macro-to-be-defined.c b/suite/regress/c-crashers/crash-15-expected-macro-to-be-defined.c new file mode 100644 index 0000000000000000000000000000000000000000..3e70e3fd38825dcf55735e9a4fcb7f5005012d30 --- /dev/null +++ b/suite/regress/c-crashers/crash-15-expected-macro-to-be-defined.c @@ -0,0 +1,18 @@ +#include <keystone/keystone.h> +int main(int argc, char **argv) { + int ks_arch = KS_ARCH_SYSTEMZ, ks_mode = KS_MODE_LITTLE_ENDIAN; + unsigned char assembly[] = { + 0x12, ';', 0x12, 'i', ';', '.', 'i', 'R', 'p', ' ', + 'e', 'm', 'i', 'R', 'p', ',', 0xca, 0xe9, ',', 'I', + '=', 0x00, + }; + ks_engine *ks; + ks_err err = ks_open(ks_arch, ks_mode, &ks); + if (!err) { + size_t count, size; + unsigned char *insn; + ks_asm(ks, (char *)assembly, 0, &insn, &size, &count); + ks_free(insn); + } + ks_close(ks); +} diff --git a/suite/regress/c-crashers/crash-16-expression-value-must-be-representable-in-32-bits.c b/suite/regress/c-crashers/crash-16-expression-value-must-be-representable-in-32-bits.c new file mode 100644 index 0000000000000000000000000000000000000000..06df7659ff2ff58bca5afd54f13928fc1d019db5 --- /dev/null +++ b/suite/regress/c-crashers/crash-16-expression-value-must-be-representable-in-32-bits.c @@ -0,0 +1,16 @@ +#include <keystone/keystone.h> +int main(int argc, char **argv) { + int ks_arch = KS_ARCH_ARM, ks_mode = KS_MODE_LITTLE_ENDIAN; + unsigned char assembly[] = { + ' ', 'e', 'o', 'r', ' ', 'A', '1', ',', '.', '2', 0x00, + }; + ks_engine *ks; + ks_err err = ks_open(ks_arch, ks_mode, &ks); + if (!err) { + size_t count, size; + unsigned char *insn; + ks_asm(ks, (char *)assembly, 0, &insn, &size, &count); + ks_free(insn); + } + ks_close(ks); +}