summaryrefslogtreecommitdiff
path: root/include/ruby/internal/core/rstring.h
diff options
context:
space:
mode:
authorPeter Zhu <peter@peterzhu.ca>2022-01-11 15:19:39 -0500
committerPeter Zhu <peter@peterzhu.ca>2022-01-12 12:00:55 -0500
commit2d81a718eca679b9bf458beccf1e7a86b812c3e2 (patch)
treea9c7dc5455d787641210cfc8a93c24a20cf3e78a /include/ruby/internal/core/rstring.h
parente28dbd0f3d08536d61e4e2c0ac938161ac16f29f (diff)
downloadruby-2d81a718eca679b9bf458beccf1e7a86b812c3e2.tar.gz
Make embedded string length a long for VWA
A short (2 bytes) will cause unaligned struct accesses when strings are used as a buffer to directly store binary data.
Diffstat (limited to 'include/ruby/internal/core/rstring.h')
-rw-r--r--include/ruby/internal/core/rstring.h2
1 files changed, 1 insertions, 1 deletions
diff --git a/include/ruby/internal/core/rstring.h b/include/ruby/internal/core/rstring.h
index 4a8aa3f7d3..9f6dc84537 100644
--- a/include/ruby/internal/core/rstring.h
+++ b/include/ruby/internal/core/rstring.h
@@ -280,7 +280,7 @@ struct RString {
/** Embedded contents. */
struct {
#if USE_RVARGC
- unsigned short len;
+ long len;
/* This is a length 1 array because:
* 1. GCC has a bug that does not optimize C flexible array members
* (https://gcc.gnu.org/bugzilla/show_bug.cgi?id=102452)