Project

General

Profile

Bug #16603

Passing number or symbol to kwargs splat causes segmentation fualt

Added by tompng (tomoya ishida) 8 months ago. Updated 19 days ago.

Status:
Closed
Priority:
Normal
Assignee:
-
Target version:
-
ruby -v:
ruby 2.7.0p0 (2019-12-25 revision 647ee6f091) [x86_64-darwin19], ruby 2.8.0dev (2020-02-03T04:07:34Z master 0ab7f2f222) [x86_64-darwin19]
[ruby-core:97047]

Description

Passing 1 or :a as a kwargs splat to a c-lang defined method causes segmentation fault. (It was a TypeError in ruby 2.6.0)

p **1
p **:a
rand **1

Passing it to an user-defined method won't cause segv, but it was a TypeError in ruby 2.6.0

def p2*;end
p2 **1 # nil (TypeError in ruby 2.6.0)
p2 **:a # nil (TypeError in ruby 2.6.0)
# these are ok
a=1; p **a # TypeError
a=:a; p **a # TypeError
def p2*;end
a=1; p2 **a # TypeError
a=:a; p2 **a # TypeError

Related issues

Has duplicate Ruby master - Bug #17141: Crash when parsing malformed inputClosedActions
#2

Updated by hanachin (Seiei Miyagi) 8 months ago

  • Status changed from Open to Closed

Applied in changeset git|11963da9e8e98821860fbb0c0f2adc118860c814.


Check type of empty keyword [Bug #16603]

Co-authored-by: Yusuke Endoh mame@ruby-lang.org

#3

Updated by nagachika (Tomoyuki Chikanaga) 19 days ago

  • Backport changed from 2.5: UNKNOWN, 2.6: UNKNOWN, 2.7: UNKNOWN to 2.5: DONTNEED, 2.6: DONTNEED, 2.7: REQUIRED
#4

Updated by nagachika (Tomoyuki Chikanaga) 19 days ago

  • Has duplicate Bug #17141: Crash when parsing malformed input added

Updated by nagachika (Tomoyuki Chikanaga) 19 days ago

  • Backport changed from 2.5: DONTNEED, 2.6: DONTNEED, 2.7: REQUIRED to 2.5: DONTNEED, 2.6: DONTNEED, 2.7: DONE

ruby_2_7 e778de2c82478dda930cfc8d795ed4e0e60ea775 merged revision(s) 11963da9e8e98821860fbb0c0f2adc118860c814.

Also available in: Atom PDF