Project

General

Profile

Actions

Bug #13034

closed

rb_enc_ascget() does not handle 'needmore' error from rb_enc_procise_mbclen()

Added by rhenium (Kazuki Yamaguchi) over 7 years ago. Updated over 7 years ago.

Status:
Closed
Assignee:
-
Target version:
-
[ruby-core:78646]

Description

rb_enc_ascget() stores the return value from rb_enc_procise_mbclen() that may return a negative value on error to 'unsigned int', and thus it overlooks errors due to incomplete UTF-16/32 byte sequence.

This bug is visible from Ruby; for example, the following code gets stuck in infinite loop:

str = "\x00".force_encoding("UTF-16BE")
Regexp.quote(str) # Ruby freezes
Actions

Also available in: Atom PDF

Like0
Like0Like0Like0