From 4d97a5c3123bf7c271cc3007ac7029342558b01c Mon Sep 17 00:00:00 2001 From: rhe Date: Tue, 13 Sep 2016 12:33:13 +0000 Subject: Use PRIuSIZE format specifier for size_t values Use PRIuSIZE instead of PRIdSIZE. This fixes the exception message shown on too large xmalloc2. This commit also fixes other incorrect use of PRIdSIZE in other functions; though most of them are debug print. * gc.c (heap_extend_pages, get_envparam_size, ruby_malloc_size_overflow, gc_profile_dump_on): Use PRIuSIZE instead of PRIdSIZE as the passed value is size_t, not ssize_t. * iseq.c (get_line_info, rb_iseq_disasm_insn): Ditto. * sprintf.c (rb_str_format): Ditto. * thread_win32.c (native_thread_create): Ditto. * vm.c (get_param): Ditto. * ext/objspace/objspace_dump.c (dump_append_string_content, dump_object): Ditto. * ext/socket/raddrinfo.c (host_str, port_str): Ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56156 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ext/objspace/objspace_dump.c | 4 ++-- ext/socket/raddrinfo.c | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) (limited to 'ext') diff --git a/ext/objspace/objspace_dump.c b/ext/objspace/objspace_dump.c index 47aaaf2e3a..0dd3a9e79c 100644 --- a/ext/objspace/objspace_dump.c +++ b/ext/objspace/objspace_dump.c @@ -182,7 +182,7 @@ dump_append_string_content(struct dump_config *dc, VALUE obj) { dump_append(dc, ", \"bytesize\":%ld", RSTRING_LEN(obj)); if (!STR_EMBED_P(obj) && !STR_SHARED_P(obj) && (long)rb_str_capacity(obj) != RSTRING_LEN(obj)) - dump_append(dc, ", \"capacity\":%"PRIdSIZE, rb_str_capacity(obj)); + dump_append(dc, ", \"capacity\":%"PRIuSIZE, rb_str_capacity(obj)); if (is_ascii_string(obj)) { dump_append(dc, ", \"value\":"); @@ -248,7 +248,7 @@ dump_object(VALUE obj, struct dump_config *dc, int part) break; case T_HASH: - dump_append(dc, ", \"size\":%"PRIdSIZE, (size_t)RHASH_SIZE(obj)); + dump_append(dc, ", \"size\":%"PRIuSIZE, (size_t)RHASH_SIZE(obj)); if (FL_TEST(obj, HASH_PROC_DEFAULT)) dump_append(dc, ", \"default\":\"%p\"", (void *)RHASH_IFNONE(obj)); break; diff --git a/ext/socket/raddrinfo.c b/ext/socket/raddrinfo.c index 11f5d1f5a6..67bc9c2a97 100644 --- a/ext/socket/raddrinfo.c +++ b/ext/socket/raddrinfo.c @@ -462,7 +462,7 @@ host_str(VALUE host, char *hbuf, size_t hbuflen, int *flags_ptr) if (flags_ptr) *flags_ptr |= AI_NUMERICHOST; } else if (len >= hbuflen) { - rb_raise(rb_eArgError, "hostname too long (%"PRIdSIZE")", + rb_raise(rb_eArgError, "hostname too long (%"PRIuSIZE")", len); } else { @@ -493,7 +493,7 @@ port_str(VALUE port, char *pbuf, size_t pbuflen, int *flags_ptr) SafeStringValueCStr(port); RSTRING_GETMEM(port, serv, len); if (len >= pbuflen) { - rb_raise(rb_eArgError, "service name too long (%"PRIdSIZE")", + rb_raise(rb_eArgError, "service name too long (%"PRIuSIZE")", len); } memcpy(pbuf, serv, len); -- cgit v1.2.3