Skip to content

v2.14.29

Latest

Choose a tag to compare

@ohler55 ohler55 released this 08 Aug 17:57

What's Changed

  • Fix buffer overflow in the SAX parser's IO read callbacks by @Watson1978 in #413
  • Fix stack buffer overflow on long class names in object mode by @Watson1978 in #414
  • Fix integer overflow with an oversized dump :indent option by @Watson1978 in #415
  • Speed up Ox.dump string and indent writing by @Watson1978 in #416
  • Speed up Ox.dump integer serialization by @Watson1978 in #417
  • Limit sax nesting by @ohler55 in #418
  • Fix xml_str_len returning ~49x the escaped length by @Watson1978 in #419
  • Fix GC crash from a stack PInfo wrapper left dangling on a raised parse by @Watson1978 in #420
  • Speed up Ox.load text parsing with a SWAR fast path by @Watson1978 in #421
  • Drop a redundant strlen and newline scan from text node parsing by @Watson1978 in #422
  • Speed up Ox.dump / Ox::Builder string escaping with a SWAR fast path by @Watson1978 in #423
  • Port oj's fast_memcpy16 into the Ox.dump short-copy path by @Watson1978 in #424
  • Free the Ox.dump output buffer when a dump raises by @Watson1978 in #425
  • Add ruby_memcheck (Valgrind memcheck) integration as rake test:valgrind by @Watson1978 in #426
  • Add Valgrind memcheck CI workflow by @Watson1978 in #427
  • Use rb_range_values() to dump a Range instead of struct slots for Ruby 4.1 by @Watson1978 in #429
  • Fix heap out-of-bounds read and write after the Ox::Builder depth raise by @Watson1978 in #430
  • Fix memory leaks on parse error paths, the SAX element stack, and the intern cache by @Watson1978 in #428
  • Fix rake test_all silently skipping most of the test suite by @Watson1978 in #431
  • Add a 20 minute timeout to the CI and Valgrind jobs by @Watson1978 in #432
  • Fix memory leak of the object-mode circular reference table by @Watson1978 in #433
  • Limit the CI workflows to a read-only token and stop persisting it by @Watson1978 in #436
  • Fix hash flooding by seeding the name cache hash per process by @Watson1978 in #435
  • Fix out-of-bounds heap write and read in the circular reference table by @Watson1978 in #434
  • Fix SEGV when dumping a Time localtime() can not represent by @Watson1978 in #437
  • Fix the out-of-bounds read and write in the base64 decode by @Watson1978 in #439
  • Fix the name cache pointer held across callbacks and the unchecked allocations by @Watson1978 in #440
  • Fix Ox.load_file sizing the read from whatever the path reports by @Watson1978 in #441
  • Fix the thin time format losing times before 1970 and after 2038 by @Watson1978 in #438
  • Fix SEGV when an object mode container is not what end_element expects by @Watson1978 in #442
  • Fix the heap overflow and the stale element name in dump_gen_element by @Watson1978 in #443
  • Fix the sample XML files carrying what look like real passwords by @Watson1978 in #444
  • Fix the double free of the hash mode mark list by @Watson1978 in #445
  • Fix the SAX parser reading uninitialised memory after EOF on a file by @Watson1978 in #447
  • Fix a document being able to switch a default Ox.load into object mode by @Watson1978 in #448
  • Fix buffer over-read of an Ox::Builder element name that holds a NUL by @Watson1978 in #449
  • Fix a CDATA value being able to close its own section by @Watson1978 in #450
  • Fix the builder output buffer being freed with the wrong allocator by @Watson1978 in #451
  • Fix Ox.load_file failing on Windows for files ox wrote itself by @Watson1978 in #452
  • Remove the dead buf_reset() from the builder's buf.h by @Watson1978 in #453
  • Fix a :nest_ok comment being dropped inside an :off element by @Watson1978 in #454
  • Fix parse_regexp building a pointer before the start of its text by @Watson1978 in #455
  • Fix the xsd dateTime conversion discarding the timezone offset by @Watson1978 in #456
  • Fix a loaded Regexp ignoring the document's encoding by @Watson1978 in #457
  • Fix Ox::Builder truncating a value at an embedded NUL by @Watson1978 in #458
  • Fix an encoding set in Ox.default_options never being cleared by @Watson1978 in #459
  • Fix a Symbol name being truncated at an embedded NUL by @Watson1978 in #461
  • Fix the arity -1 entry points reading past their arguments by @Watson1978 in #462
  • Fix a slash in a Regexp pattern coming back escaped by @Watson1978 in #463
  • Fix a rescued raise leaving part of the value in the buffer by @Watson1978 in #465
  • Fix :invalid_replace having no effect unless :effort is moved by @Watson1978 in #466
  • Fix Ox::Builder counting more than it writes, and to_s writing to the buffer by @Watson1978 in #467
  • Fix a comment, CDATA, DOCTYPE or instruction value going out unchecked by @Watson1978 in #468
  • Fix an element or attribute name going out unchecked by @Watson1978 in #470
  • Speed up Ox.dump by not type checking the same String twice by @Watson1978 in #471

Full Changelog: v2.14.28...v2.14.29