Commit Graph

1221 Commits

Author SHA1 Message Date
Yukihiro "Matz" Matsumoto a10f85f855 Merge pull request #3369 from ksss/fix-str-prepend
Rewrite String#prepend with Ruby
2017-01-05 17:40:38 +09:00
ksss eeca6ec8f5 Rewrite String#prepend with Ruby
Fix #3357
2017-01-04 14:00:28 +09:00
Yukihiro "Matz" Matsumoto bc1259de3b add explicit casts 2017-01-02 17:48:44 +09:00
Yukihiro "Matz" Matsumoto 07167b8f5e Initialize potentially uninitialized variable tsec. 2017-01-01 00:47:45 +09:00
Yukihiro "Matz" Matsumoto 803bf010ca save/restore arena index around yield; ref #3359 2016-12-28 13:00:28 +09:00
Yukihiro "Matz" Matsumoto 5e3077c00d One less argument for raisef(); fix #3355
This issue was reported by https://hackerone.com/mg36
2016-12-21 16:46:26 +09:00
Yukihiro "Matz" Matsumoto 432570723d Check if width is zero or negative before fill; fix #3347
Reported by https://hackerone.com/haquaman.
2016-12-18 02:02:30 +09:00
Yukihiro "Matz" Matsumoto 2edf15bed8 Prohibit mixture of posarg and nextarg; ref #3347 2016-12-18 02:02:30 +09:00
Yukihiro "Matz" Matsumoto c2bbfa5b61 NODE_NEGATE cdr may not be code-node; fix #3348 ref #3324
Reported by Denis Kasak https://hackerone.com/dkasak
2016-12-18 02:02:30 +09:00
Yukihiro "Matz" Matsumoto b0886d5692 Zero length heredoc still crashed; ref Shopify/mruby-internal#81 2016-12-18 02:02:30 +09:00
Yukihiro "Matz" Matsumoto 73cc08772f remove debug code; ref #3344 2016-12-14 13:34:24 +09:00
Yukihiro "Matz" Matsumoto fead715cef tLABEL should not come after conditional ternary; fix #3344 2016-12-13 23:44:10 +09:00
Yukihiro "Matz" Matsumoto d196e4dd04 void_expr_error(): n may be NULL.
Reported from @clayton-shopify.
2016-12-13 11:18:05 +09:00
Yukihiro "Matz" Matsumoto 647ad29a7a Fixed wrong condition in new_sym() that breaks symbol data. 2016-12-13 02:33:28 +09:00
Yukihiro "Matz" Matsumoto a4ae22ae0c Failed to realloc irep->syms in certain condition.
Also msym size changed to 512 from 256.
2016-12-13 01:55:08 +09:00
Yukihiro "Matz" Matsumoto 3cc913490b Merge pull request #3329 from bouk/reuse
Mark all the built-in classes during GC sweep
2016-12-10 16:02:47 +09:00
Yukihiro "Matz" Matsumoto 13979a4376 Merge pull request #3324 from bouk/mruby/bouk-negate
Don't generate code for NODE_NEGATE if the result isn't used
Reported by https://hackerone.com/haquaman
2016-12-10 15:52:41 +09:00
Yukihiro "Matz" Matsumoto 7b968ca893 Clear parsing_heredoc at the end of file 2016-12-10 12:35:12 +09:00
Bouke van der Bijl 1264219832 Fix segfault in gen_values with NOVAL and more than 127 args 2016-12-09 10:30:05 -05:00
Bouke van der Bijl c8da3c4df4 Fix segfault when undef is called with exactly 127 arguments
The issue is that when there are more than 126 arguments an array needs
to be created to pass the arguments on with.

Reported by https://hackerone.com/revskills
2016-12-08 15:47:17 -05:00
Tomasz Dąbrowski 0360a744b5 Promote load_exec to mruby API as mrb_load_exec (fixes #3248) 2016-12-07 21:21:21 +01:00
Bouke van der Bijl d56a19cbf5 Don't generate code for NODE_NEGATE if the result isn't used
Reported by https://hackerone.com/haquaman
2016-12-07 15:14:17 -05:00
Bouke van der Bijl f7a891fa89 Mark all the built-in classes during GC sweep
Reported by https://hackerone.com/haquaman
2016-12-07 15:14:12 -05:00
Yukihiro "Matz" Matsumoto 3623a833a4 Protect exceptions within main() function 2016-12-06 11:23:23 +09:00
Yukihiro "Matz" Matsumoto 9a962ed2c3 Raise an exception in time_update_datetime().
The function used to return NULL on error, but not checked in the
caller site.
2016-12-06 10:27:35 +09:00
Yukihiro "Matz" Matsumoto 43512cc7bd Reorganize heredoc rules; fix #3273
The following codes used to be SyntaxError:

(1)
  a = <<-EOD;
  hello
  EOD

(2)
  <<-EOD.bla begin
  k
  EOD
  end
2016-12-05 02:55:39 +09:00
Yukihiro "Matz" Matsumoto a0fbc46ccd Import locale insensitive strtod() from Ruby1.8; fix #3270
The function was renamed to `mrb_float_read(const char*, char**)`.
2016-12-03 18:47:04 +09:00
Yukihiro "Matz" Matsumoto f6d199919d Needed to apply block from safe-navigation operators; fix #3310 2016-12-03 16:38:43 +09:00
Yukihiro "Matz" Matsumoto 6b84ff4a44 Print NODE_SCALL (&.) from mrb_parser_dump() 2016-12-03 16:21:15 +09:00
Yukihiro "Matz" Matsumoto c029c6c444 codegen: avoid unnecessary OP_MOVE after CASE 2016-12-03 14:50:36 +09:00
Yukihiro "Matz" Matsumoto 23c4ad0865 Merge pull request #3319 from bouk/apost-splatt
Fix segfault when using result of rest assignment
2016-12-03 12:53:21 +09:00
Yukihiro "Matz" Matsumoto 79a621dd73 Check before retrieving struct RRange pointer; fix #3320
range->edges may be NULL for example when #initialize_copy removed.
2016-12-03 12:30:01 +09:00
Yukihiro "Matz" Matsumoto d89cfca02c Merge pull request #3315 from ksss/enumerator-with_index
Fix some incompatibility for Enumerator#with_index
2016-12-03 11:58:39 +09:00
Bouke van der Bijl fe362c1f26 Fix segfault when using result of rest assignment
Reported by https://hackerone.com/haquaman
2016-12-01 15:49:36 -05:00
Yukihiro "Matz" Matsumoto 2cca9d3688 avoid comparison between signed and unsigned integer; ref #3312 2016-12-01 18:49:39 +09:00
Nobuyoshi Nakada 0f08914ac0 Support multiple elements \u syntax 2016-12-01 16:48:43 +09:00
Nobuyoshi Nakada fed40b44b8 Extract read_escape_unicode from read_escape 2016-12-01 16:48:43 +09:00
ksss 2718fed124 Support svalue 2016-12-01 16:13:24 +09:00
ksss 0f774ff4df Support nil argument as no argument 2016-12-01 15:33:27 +09:00
Yukihiro "Matz" Matsumoto c37c255f19 Merge pull request #3311 from ksss/enum-generator
Support Enumerable methods
2016-12-01 11:46:10 +09:00
ksss 31f0ffeac8 Support Enumerable methods 2016-12-01 10:42:57 +09:00
Yukihiro "Matz" Matsumoto 8461a31cb4 Fixed too much void_expr_error(); fix #3307 2016-11-30 13:04:50 +09:00
Yukihiro "Matz" Matsumoto 779c2629fe resolve conflict; ref #3306 2016-11-30 12:54:20 +09:00
ksss 0f90227907 Change Lazy class outer
Lazy class should be under Enumerator instead of Enumerable
2016-11-30 12:36:22 +09:00
ksss 8675975ba2 Implement Enumerable::Lazy#to_enum and enum_for 2016-11-30 11:02:02 +09:00
Yukihiro "Matz" Matsumoto 5771c9778e add a test for #3296 2016-11-30 03:51:23 +09:00
Yukihiro "Matz" Matsumoto 37743111d9 should not refer Struct class by name; fix #3296 2016-11-30 03:49:56 +09:00
Bouke van der Bijl 523c267020 Interpret argument in 'f ()' as nil instead of nothing 2016-11-29 09:23:53 -05:00
Yukihiro "Matz" Matsumoto 27ceb84818 parse.y: use opt_paren_args to simplify yield rule 2016-11-27 22:43:46 +09:00
Yukihiro "Matz" Matsumoto 3d9aa463f7 Add NULL checks for Time data retrieval 2016-11-27 20:47:20 +09:00