summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorYukihiro "Matz" Matsumoto <[email protected]>2021-07-25 16:38:37 +0900
committerYukihiro "Matz" Matsumoto <[email protected]>2021-07-25 16:38:37 +0900
commitc2c025006386a164478af4776b158b9d3f4d51df (patch)
tree66cb98df73b888e637fef77137299cefd179a207
parent368b75d81befa62f0558b0521a6e0789d4ba12fe (diff)
downloadmruby-c2c025006386a164478af4776b158b9d3f4d51df.tar.gz
mruby-c2c025006386a164478af4776b158b9d3f4d51df.zip
time.c: fixed `time_zonename` buffer size bug.
-rw-r--r--mrbgems/mruby-time/src/time.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/mrbgems/mruby-time/src/time.c b/mrbgems/mruby-time/src/time.c
index 7a0bd0072..3c6959644 100644
--- a/mrbgems/mruby-time/src/time.c
+++ b/mrbgems/mruby-time/src/time.c
@@ -687,7 +687,7 @@ mrb_time_year(mrb_state *mrb, mrb_value self)
static size_t
time_zonename(mrb_state *mrb, struct mrb_time *tm, char *buf, size_t len)
{
-#if 1 || defined(_MSC_VER) && _MSC_VER < 1900 || defined(__MINGW64__) || defined(__MINGW32__)
+#if defined(_MSC_VER) && _MSC_VER < 1900 || defined(__MINGW64__) || defined(__MINGW32__)
struct tm datetime = {0};
time_t utc_sec = timegm(&tm->datetime);
int offset = abs((int)(utc_sec - tm->sec) / 60);
@@ -695,9 +695,9 @@ time_zonename(mrb_state *mrb, struct mrb_time *tm, char *buf, size_t len)
datetime.tm_hour = offset / 60;
datetime.tm_min = offset % 60;
buf[0] = utc_sec < tm->sec ? '-' : '+';
- return strftime(buf+1, sizeof(buf)-1, "%H%M", &datetime) + 1;
+ return strftime(buf+1, len, "%H%M", &datetime) + 1;
#else
- return strftime(buf, sizeof(buf), "%z", &tm->datetime);
+ return strftime(buf, len, "%z", &tm->datetime);
#endif
}