diff options
author | usa <usa@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2017-09-14 11:44:37 +0000 |
---|---|---|
committer | usa <usa@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2017-09-14 11:44:37 +0000 |
commit | d629ce0baa47ce800a26b451215dbeb20b3fb05c (patch) | |
tree | 5ea85909ab24921e41099e8c2b7a596fa4a1a939 | |
parent | 5450329ad1778d72f117b68e5edb97ae1bf4d438 (diff) |
* ext/json: bump to version 1.8.1.1. [Backport #13853]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_2@59904 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r-- | ChangeLog | 4 | ||||
-rw-r--r-- | ext/json/generator/generator.c | 12 | ||||
-rw-r--r-- | ext/json/generator/generator.h | 1 | ||||
-rw-r--r-- | ext/json/lib/json/version.rb | 2 | ||||
-rw-r--r-- | version.h | 2 |
5 files changed, 12 insertions, 9 deletions
@@ -1,3 +1,7 @@ +Thu Sep 14 20:44:26 2017 SHIBATA Hiroshi <hsbt@ruby-lang.org> + + * ext/json: bump to version 1.8.1.1. [Backport #13853] + Thu Sep 14 20:39:39 2017 Kazuki Yamaguchi <k@rhe.jp> asn1: fix out-of-bounds read in decoding constructed objects diff --git a/ext/json/generator/generator.c b/ext/json/generator/generator.c index f56ac09cd2..ae0e73fcbc 100644 --- a/ext/json/generator/generator.c +++ b/ext/json/generator/generator.c @@ -301,7 +301,7 @@ static char *fstrndup(const char *ptr, unsigned long len) { char *result; if (len <= 0) return NULL; result = ALLOC_N(char, len); - memccpy(result, ptr, 0, len); + memcpy(result, ptr, len); return result; } @@ -1055,7 +1055,7 @@ static VALUE cState_indent_set(VALUE self, VALUE indent) } } else { if (state->indent) ruby_xfree(state->indent); - state->indent = strdup(RSTRING_PTR(indent)); + state->indent = fstrndup(RSTRING_PTR(indent), len); state->indent_len = len; } return Qnil; @@ -1093,7 +1093,7 @@ static VALUE cState_space_set(VALUE self, VALUE space) } } else { if (state->space) ruby_xfree(state->space); - state->space = strdup(RSTRING_PTR(space)); + state->space = fstrndup(RSTRING_PTR(space), len); state->space_len = len; } return Qnil; @@ -1129,7 +1129,7 @@ static VALUE cState_space_before_set(VALUE self, VALUE space_before) } } else { if (state->space_before) ruby_xfree(state->space_before); - state->space_before = strdup(RSTRING_PTR(space_before)); + state->space_before = fstrndup(RSTRING_PTR(space_before), len); state->space_before_len = len; } return Qnil; @@ -1166,7 +1166,7 @@ static VALUE cState_object_nl_set(VALUE self, VALUE object_nl) } } else { if (state->object_nl) ruby_xfree(state->object_nl); - state->object_nl = strdup(RSTRING_PTR(object_nl)); + state->object_nl = fstrndup(RSTRING_PTR(object_nl), len); state->object_nl_len = len; } return Qnil; @@ -1201,7 +1201,7 @@ static VALUE cState_array_nl_set(VALUE self, VALUE array_nl) } } else { if (state->array_nl) ruby_xfree(state->array_nl); - state->array_nl = strdup(RSTRING_PTR(array_nl)); + state->array_nl = fstrndup(RSTRING_PTR(array_nl), len); state->array_nl_len = len; } return Qnil; diff --git a/ext/json/generator/generator.h b/ext/json/generator/generator.h index ddd1aa8a30..395d71e9d3 100644 --- a/ext/json/generator/generator.h +++ b/ext/json/generator/generator.h @@ -1,7 +1,6 @@ #ifndef _GENERATOR_H_ #define _GENERATOR_H_ -#include <string.h> #include <math.h> #include <ctype.h> diff --git a/ext/json/lib/json/version.rb b/ext/json/lib/json/version.rb index 47cdcd607c..579697c9d7 100644 --- a/ext/json/lib/json/version.rb +++ b/ext/json/lib/json/version.rb @@ -1,6 +1,6 @@ module JSON # JSON version - VERSION = '1.8.1' + VERSION = '1.8.1.1' VERSION_ARRAY = VERSION.split(/\./).map { |x| x.to_i } # :nodoc: VERSION_MAJOR = VERSION_ARRAY[0] # :nodoc: VERSION_MINOR = VERSION_ARRAY[1] # :nodoc: @@ -1,6 +1,6 @@ #define RUBY_VERSION "2.2.8" #define RUBY_RELEASE_DATE "2017-09-14" -#define RUBY_PATCHLEVEL 476 +#define RUBY_PATCHLEVEL 477 #define RUBY_RELEASE_YEAR 2017 #define RUBY_RELEASE_MONTH 9 |