Author: paultcochrane
Date: Sat Oct  6 05:54:59 2007
New Revision: 21916

Modified:
   trunk/src/gc/register.c

Log:
[gc] Handling case when a NULL doomed sub is detected.  Coverity CID 119.


Modified: trunk/src/gc/register.c
==============================================================================
--- trunk/src/gc/register.c     (original)
+++ trunk/src/gc/register.c     Sat Oct  6 05:54:59 2007
@@ -556,11 +556,17 @@
             /* can't probably PIO_eprintf here */
             const Parrot_sub * const doomed = PMC_sub(ctxp->current_sub);
 
-            fprintf(stderr, "[free  ctx %p of sub '%s']\n",
-                    (void *)ctxp,
-                    (doomed && doomed->name == (void*)0xdeadbeef
-                     ? "???"
-                     : (char*)doomed->name->strstart));
+            if (doomed) {
+                fprintf(stderr, "[free  ctx %p of sub '%s']\n",
+                        (void *)ctxp,
+                        (doomed->name == (void*)0xdeadbeef
+                        ? "???"
+                        : (char*)doomed->name->strstart));
+            }
+            else {
+                real_exception(interp, NULL, 1,
+                        "NULL doomed sub detected in Parrot_free_context");
+            }
         }
 #endif
         if (ctxp->n_regs_used) {

Reply via email to