Actions
Bug #7755
closedJSON::Generate#configure's argument conversion
Description
I notice a tiny bug in ext/json/generator/generator.c:514
tmp = rb_convert_type(opts, T_HASH, "Hash", "to_hash");
if (NIL_P(tmp)) tmp = rb_convert_type(opts, T_HASH, "Hash", "to_h");
if (NIL_P(tmp)) {
rb_raise(rb_eArgError, "opts has to be hash like or convertable into a hash");
}
opts = tmp;
Bug is that rb_convert_type never returns nil.
Either both rb_convert_type are changed to rb_check_convert_type, or these lines are simply replaced by:
opts = rb_convert_type(opts, T_HASH, "Hash", "to_hash");
I'd recommend this last option, for consistency with the rest of MRI.
Updated by marcandre (Marc-Andre Lafortune) almost 12 years ago
- Subject changed from JSON::Generate#configure's argument conversion to JSON::Generate#configure's argument conversion
There's some more unreachable code in ext/json/parser/parser.rl:629
Updated by naruse (Yui NARUSE) almost 12 years ago
- Target version changed from 2.0.0 to 2.6
Could you report it to upstream?
https://github.com/flori/json
Updated by marcandre (Marc-Andre Lafortune) almost 12 years ago
Updated by marcandre (Marc-Andre Lafortune) about 7 years ago
- Status changed from Open to Closed
Actions
Like0
Like0Like0Like0Like0