aboutsummaryrefslogtreecommitdiff
path: root/mfd/prog.c
diff options
context:
space:
mode:
authorSergey Poznyakoff <gray@gnu.org.ua>2009-06-30 00:29:30 +0300
committerSergey Poznyakoff <gray@gnu.org.ua>2009-06-30 00:29:30 +0300
commit5be37dcba1950fe6d917c18c9bd1983cb0f17185 (patch)
tree1c0e4dca3c07e51fec05fbbd5079a0450d5c3709 /mfd/prog.c
parent6dcecd5893d71dfcda15228f8b17dc26d775f0e8 (diff)
downloadmailfromd-5be37dcba1950fe6d917c18c9bd1983cb0f17185.tar.gz
mailfromd-5be37dcba1950fe6d917c18c9bd1983cb0f17185.tar.bz2
Bugfix.
* mfd/bi_dns.m4 (dns_getname): Missed call to MF_OBSTACK_BEGIN. * mfd/prog.c (runtime_stack_trace): Prevent coredump on arriving to pc == 0.
Diffstat (limited to 'mfd/prog.c')
-rw-r--r--mfd/prog.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/mfd/prog.c b/mfd/prog.c
index 17c2464b..a2671db8 100644
--- a/mfd/prog.c
+++ b/mfd/prog.c
@@ -490,7 +490,9 @@ runtime_stack_trace(eval_environ_t env)
prog_counter_t pc = (prog_counter_t)env->dataseg[base + 2] - 1;
char *name;
struct locus *ploc = NULL, loc;
-
+
+ if (pc < 2)
+ break; /*FIXME*/
if (prog[pc-2] == instr_funcall) {
name = (char*)(env->dataseg + (size_t) prog[pc-1]);
pc -= 2;

Return to:

Send suggestions and report system problems to the System administrator.