summaryrefslogtreecommitdiff
path: root/string.c
diff options
context:
space:
mode:
Diffstat (limited to 'string.c')
-rw-r--r--string.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/string.c b/string.c
index 25323ce313..a7948224e5 100644
--- a/string.c
+++ b/string.c
@@ -6289,15 +6289,15 @@ str_undump(VALUE str)
int encidx;
ptrdiff_t size;
- if (utf8) {
- rb_raise(rb_eRuntimeError, "dumped string contained Unicode escape but used force_encoding");
- }
-
size = rb_strlen_lit(".force_encoding(\"");
if (s_end - s <= size) goto invalid_format;
if (memcmp(s, ".force_encoding(\"", size) != 0) goto invalid_format;
s += size;
+ if (utf8) {
+ rb_raise(rb_eRuntimeError, "dumped string contained Unicode escape but used force_encoding");
+ }
+
encname = s;
s = memchr(s, '"', s_end-s);
size = s - encname;