Ticket #1 (closed defect: fixed)

Opened 3 years ago

Last modified 3 years ago

commited patch for ruby-cvs after 1.8.4 was released

Reported by: ocean@… Owned by: somebody
Priority: major Milestone:
Component: component1 Version:
Keywords: Cc:

Description

http://www.atdot.net/~ko1/w3ml/w3ml.cgi/ruby-cvs/msg/16299

  • lib/yaml/rubytypes.rb (Fixnum): Bignum could not be loaded in ruby 1.8.3/1.8.4. [ruby-core:6115]

  • lib/yaml/rubytypes.rb (Numeric): Subclass of Numeric could not be dumped properly. [ruby-core:7047]

http://www.atdot.net/~ko1/w3ml/w3ml.cgi/ruby-cvs/msg/16302

  • ext/syck/rubyext.c (syck_resolver_transfer): should be able to load !ruby/object:Bignum syntax 1.8.3 dumped. [ruby-core:6159] (written by akira yamada)

http://www.atdot.net/~ko1/w3ml/w3ml.cgi/ruby-cvs/msg/16304

Sorry, commit miss.

http://www.atdot.net/~ko1/w3ml/w3ml.cgi/ruby-cvs/msg/16326

  • ext/syck/emitter.c (syck_emit_seq, syck_emit_map, syck_emit_item): should output complex key mark even if map's key is empty seq/map. [ruby-core:7129]

http://www.atdot.net/~ko1/w3ml/w3ml.cgi/ruby-cvs/msg/16371

  • ext/syck/rubyext.c (syck_resolver_transfer): workaround for SEGV. ex: YAML.load("map:B {}"). [ruby-core:7217]

http://www.atdot.net/~ko1/w3ml/w3ml.cgi/ruby-cvs/msg/16388

  • ext/syck/emitter.c (syck_emitter_write): should not set '\0' on emitter's marker. if marker points to the end of buffer, this is buffer overrun. (ex: YAML.dump("." * 12288))

http://www.atdot.net/~ko1/w3ml/w3ml.cgi/ruby-cvs/msg/16390

  • ext/syck/syck.c (syck_move_tokens): should reset p->cursor or etc even if skip == 0. This causes buffer overrun. (ex: YAML.load('--- "..' + '\x82\xA0' * 511 + '"'))

Change History

Changed 3 years ago by ocean@…

Oops?

YAML.load("map:B {}")

is wrong. actually is

ruby -ryaml -e 'YAML.load("!map:B {}")'

Changed 3 years ago by why

  • status changed from new to closed
  • resolution set to fixed

Okay, these are merged! You rock, ocean!

Note: See TracTickets for help on using tickets.