Changeset 6353 for branches/x8664-call


Ignore:
Timestamp:
Apr 24, 2007, 9:01:15 AM (13 years ago)
Author:
gb
Message:

handle_fault: check for valid cmain before calling out to it.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/x8664-call/ccl/lisp-kernel/x86-exceptions.c

    r6306 r6353  
    592592  }
    593593  {
    594     LispObj xcf = create_exception_callback_frame(xp),
    595       cmain = nrs_CMAIN.vcell;
    596     callback_to_lisp(tcr, cmain, xp, xcf, SIGBUS, is_write_fault(xp,info), (natural)addr, 0);
     594    LispObj cmain = nrs_CMAIN.vcell,
     595      xcf;
     596    if ((fulltag_of(cmain) == fulltag_misc) &&
     597      (header_subtag(header_of(cmain)) == subtag_macptr)) {
     598      xcf = create_exception_callback_frame(xp);
     599      callback_to_lisp(tcr, cmain, xp, xcf, SIGBUS, is_write_fault(xp,info), (natural)addr, 0);
     600    }
    597601  }
    598602  return false;
Note: See TracChangeset for help on using the changeset viewer.