plug for safe/opcode leaks
Doug MacEachern [Tue, 7 Jan 1997 22:20:46 +0000 (17:20 -0500)]
CHECKOP was bailing out at compile time here without destroying
the newly created/unscoped op.

p5p-msgid: <199701072220.RAA02117@postman.osf.org>

op.c

diff --git a/op.c b/op.c
index 327ea8a..28aacab 100644 (file)
--- a/op.c
+++ b/op.c
@@ -27,7 +27,7 @@
  */
 #define CHECKOP(type,op) \
     ((op_mask && op_mask[type]) \
-     ? (croak("%s trapped by operation mask", op_desc[type]), (OP*)op) \
+     ? (op_free((OP*)op), croak("%s trapped by operation mask", op_desc[type]), (OP*)op=Nullop) \
      : (*check[type])((OP*)op))
 #else
 #define CHECKOP(type,op) (*check[type])(op)