ext/ox/dump.c in ox-2.2.2 vs ext/ox/dump.c in ox-2.2.3

- old
+ new

@@ -538,13 +538,18 @@ if (MAX_DEPTH < depth) { rb_raise(rb_eSysStackError, "maximum depth exceeded"); } out->obj = obj; if (0 == aid) { - /*e.attr.str = 0; */ + e.attr.str = 0; e.attr.len = 0; } else { e.attr.str = rb_id2name(aid); + // Ruby 2.3 started to return NULL for some IDs so check for + // NULL. Ignore is NULL aid. + if (NULL == e.attr.str) { + return; + } e.attr.len = strlen(e.attr.str); } e.closed = 0; if (0 == depth) { e.indent = (0 <= out->indent) ? 0 : -1;