|
From: | Noah Lavine |
Subject: | bug#13074: VM Segfaults with Bad `Call' Instruction |
Date: | Wed, 5 Dec 2012 09:54:20 -0500 |
Hi Noah,
Noah Lavine <address@hidden> skribis:
I’d rather not apply it, because it adds overhead for every call for a
> diff --git a/libguile/vm-i-system.c b/libguile/vm-i-system.c
> index 7153ab5..dff2ab2 100644
> --- a/libguile/vm-i-system.c
> +++ b/libguile/vm-i-system.c
> @@ -793,7 +793,9 @@ VM_DEFINE_INSTRUCTION (55, call, "call", 1, -1, 1)
>
> VM_HANDLE_INTERRUPTS;
>
> - if (SCM_UNLIKELY (!SCM_PROGRAM_P (program)))
> + if (SCM_UNLIKELY (program == NULL))
> + goto vm_error_bad_instruction;
> + else if (SCM_UNLIKELY (!SCM_PROGRAM_P (program)))
> {
> if (SCM_STRUCTP (program) && SCM_STRUCT_APPLICABLE_P (program))
> {
situation that cannot happen when using Guile’s compiler, IIUC.
WDYT?
Thanks,
Ludo’.
[Prev in Thread] | Current Thread | [Next in Thread] |