[svn:parrot] r39712 - branches/tt761_keys_revamp/src/pmc
bacek at svn.parrot.org
bacek at svn.parrot.org
Mon Jun 22 12:14:22 UTC 2009
Author: bacek
Date: Mon Jun 22 12:14:22 2009
New Revision: 39712
URL: https://trac.parrot.org/parrot/changeset/39712
Log:
[pmc] Properly handle NULLs from VTABLE_get_string to use as keys.
Which mean - throw an exception and get out of here!
Modified:
branches/tt761_keys_revamp/src/pmc/hash.pmc
Modified: branches/tt761_keys_revamp/src/pmc/hash.pmc
==============================================================================
--- branches/tt761_keys_revamp/src/pmc/hash.pmc Mon Jun 22 12:08:10 2009 (r39711)
+++ branches/tt761_keys_revamp/src/pmc/hash.pmc Mon Jun 22 12:14:22 2009 (r39712)
@@ -126,7 +126,13 @@
/* Currently PMCs are stringified */
case Hash_key_type_PMC:
case Hash_key_type_STRING:
- ret = (void *)Parrot_str_new_COW(interp, VTABLE_get_string(interp, key));
+ {
+ STRING *tmp = VTABLE_get_string(interp, key);
+ if (!tmp)
+ Parrot_ex_throw_from_c_args(interp, NULL, EXCEPTION_UNEXPECTED_NULL,
+ "hash: can't use null as key");
+ ret = (void *)Parrot_str_new_COW(interp, tmp);
+ }
break;
default:
Parrot_ex_throw_from_c_args(interp, NULL, EXCEPTION_UNIMPLEMENTED,
More information about the parrot-commits
mailing list