From bdb357e0d22600ba5a9e44403cef67267e24c74c Mon Sep 17 00:00:00 2001 From: matz Date: Tue, 19 Jul 2005 14:59:01 +0000 Subject: * error.c (syserr_initialize): add 1 byte for snprintf() size for NUL at the end. [ruby-dev:26574] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@8802 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ChangeLog | 4 ++-- error.c | 4 ++-- eval.c | 4 ++-- object.c | 6 +++--- struct.c | 4 ++-- 5 files changed, 11 insertions(+), 11 deletions(-) diff --git a/ChangeLog b/ChangeLog index 24ee768ee2..cc5e950193 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,7 +1,7 @@ Tue Jul 19 22:47:29 2005 Yukihiro Matsumoto - * error.c (syserr_initialize): need to allocate an additional byte - for NUL at the end. [ruby-dev:26574] + * error.c (syserr_initialize): add 1 byte for snprintf() size for + NUL at the end. [ruby-dev:26574] Tue Jul 19 16:39:46 2005 Yukihiro Matsumoto diff --git a/error.c b/error.c index 7dacac8ce5..0b98584c54 100644 --- a/error.c +++ b/error.c @@ -907,10 +907,10 @@ syserr_initialize(argc, argv, self) else err = "unknown error"; if (!NIL_P(mesg)) { VALUE str = mesg; - size_t len = strlen(err)+RSTRING(str)->len+4; + size_t len = strlen(err)+RSTRING(str)->len+3; StringValue(str); mesg = rb_str_new(0, len); - snprintf(RSTRING(mesg)->ptr, len, "%s - %.*s", err, + snprintf(RSTRING(mesg)->ptr, len+1, "%s - %.*s", err, (int)RSTRING(str)->len, RSTRING(str)->ptr); rb_str_resize(mesg, strlen(RSTRING(mesg)->ptr)); } diff --git a/eval.c b/eval.c index cfd90f8e95..f802f07842 100644 --- a/eval.c +++ b/eval.c @@ -8510,13 +8510,13 @@ proc_to_s(self) if ((node = data->frame.node) || (node = data->body)) { len += strlen(node->nd_file) + 2 + (SIZEOF_LONG*CHAR_BIT-NODE_LSHIFT)/3; str = rb_str_new(0, len); - snprintf(RSTRING(str)->ptr, len, + snprintf(RSTRING(str)->ptr, len+1, "#<%s:0x%.*lx@%s:%d>", cname, w, (VALUE)data->body, node->nd_file, nd_line(node)); } else { str = rb_str_new(0, len); - snprintf(RSTRING(str)->ptr, len, + snprintf(RSTRING(str)->ptr, len+1, "#<%s:0x%.*lx>", cname, w, (VALUE)data->body); } RSTRING(str)->len = strlen(RSTRING(str)->ptr); diff --git a/object.c b/object.c index 27af5b33e3..b87a1d3a90 100644 --- a/object.c +++ b/object.c @@ -357,9 +357,9 @@ rb_any_to_s(obj) size_t len; VALUE str; - len = strlen(cname)+6+16+1; - str = rb_str_new(0, len); /* 6:tags 16:addr 1:nul */ - snprintf(RSTRING(str)->ptr, len, "#<%s:0x%lx>", cname, obj); + len = strlen(cname)+6+16; + str = rb_str_new(0, len); /* 6:tags 16:addr */ + snprintf(RSTRING(str)->ptr, len+1, "#<%s:0x%lx>", cname, obj); RSTRING(str)->len = strlen(RSTRING(str)->ptr); if (OBJ_TAINTED(obj)) OBJ_TAINT(str); diff --git a/struct.c b/struct.c index ed3f9f28ee..15546b981d 100644 --- a/struct.c +++ b/struct.c @@ -518,10 +518,10 @@ rb_struct_inspect(s) { if (rb_inspecting_p(s)) { char *cname = rb_class2name(rb_obj_class(s)); - size_t len = strlen(cname) + 15; + size_t len = strlen(cname) + 14; VALUE str = rb_str_new(0, len); - snprintf(RSTRING(str)->ptr, len, "#", cname); + snprintf(RSTRING(str)->ptr, len+1, "#", cname); RSTRING(str)->len = strlen(RSTRING(str)->ptr); return str; } -- cgit v1.2.3