@@ -1,4 +1,4 @@
-/* $NetBSD: trap.c,v 1.40.2.1 2017/07/23 14:58:14 snj Exp $ */
+/* $NetBSD: trap.c,v 1.40.2.2 2018/08/25 14:41:21 martin Exp $ */
/*-
* Copyright (c) 1991, 1993
@@ -37,7 +37,7 @@
#if 0
static char sccsid[] = "@(#)trap.c 8.5 (Berkeley) 6/5/95";
#else
-__RCSID("$NetBSD: trap.c,v 1.40.2.1 2017/07/23 14:58:14 snj Exp $");
+__RCSID("$NetBSD: trap.c,v 1.40.2.2 2018/08/25 14:41:21 martin Exp $");
#endif
#endif /* not lint */
@@ -523,9 +523,11 @@
savestatus=exitstatus;
CTRACE(DBG_TRAP|DBG_SIG, ("dotrap %d: \"%s\"\n", i,
trap[i] ? trap[i] : "-NULL-"));
- tr = savestr(trap[i]); /* trap code may free trap[i] */
- evalstring(tr, 0);
- ckfree(tr);
+ if ((tr = trap[i]) != NULL) {
+ tr = savestr(tr); /* trap code may free trap[i] */
+ evalstring(tr, 0);
+ ckfree(tr);
+ }
exitstatus=savestatus;
}
}