The patch below generates an internal exception instead of SEGV, but
this results in two error messages, because Parrot_readbc will have
already printed its own.

                                        -- Bob Rogers
                                           http://rgrjr.dyndns.org/

------------------------------------------------------------------------
Index: packfile.c
===================================================================
--- packfile.c  (revision 7992)
+++ packfile.c  (working copy)
@@ -3078,6 +3078,10 @@
     ext = strrchr(filename, '.');
     if (ext && strcmp (ext, ".pbc") == 0) {
         pf = PackFile_append_pbc(interpreter, filename);
+        if (!pf) {
+            internal_exception(1, "Couldn't find PBC file");
+            return;
+        }
         do_sub_pragmas(interpreter, pf->cur_cs, PBC_LOADED);
     }
     else {

Reply via email to