Author: allison
Date: Tue Oct  2 15:26:09 2007
New Revision: 21763

Modified:
   branches/pdd15oo/src/pmc/fixedpmcarray.pmc
   branches/pdd15oo/src/pmc/resizablepmcarray.pmc

Log:
[pdd15oo] Add checks for a null return value from indexed array access.


Modified: branches/pdd15oo/src/pmc/fixedpmcarray.pmc
==============================================================================
--- branches/pdd15oo/src/pmc/fixedpmcarray.pmc  (original)
+++ branches/pdd15oo/src/pmc/fixedpmcarray.pmc  Tue Oct  2 15:26:09 2007
@@ -283,6 +283,8 @@
 
     INTVAL get_integer_keyed_int(INTVAL key) {
         PMC *tempPMC = DYNSELF.get_pmc_keyed_int(key);
+        if (PMC_IS_NULL(tempPMC))
+                return 0;
         return VTABLE_get_integer(INTERP, tempPMC);
     }
 
@@ -343,6 +345,8 @@
 
     STRING *get_string_keyed_int(INTVAL key) {
         PMC *tempPMC = DYNSELF.get_pmc_keyed_int(key);
+        if (PMC_IS_NULL(tempPMC))
+                return string_from_literal(interp, "");
         return VTABLE_get_string(INTERP, tempPMC);
     }
 

Modified: branches/pdd15oo/src/pmc/resizablepmcarray.pmc
==============================================================================
--- branches/pdd15oo/src/pmc/resizablepmcarray.pmc      (original)
+++ branches/pdd15oo/src/pmc/resizablepmcarray.pmc      Tue Oct  2 15:26:09 2007
@@ -208,7 +208,7 @@
         data = PMC_data_typed(SELF, PMC **);
 
         if (PMC_IS_NULL(data[key]))
-            data[key] = PMCNULL;
+            return PMCNULL;
 
         return data[key];
     }

Reply via email to