summaryrefslogtreecommitdiffstats
path: root/util.c
diff options
context:
space:
mode:
authoreban <eban@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2004-01-29 14:56:26 +0000
committereban <eban@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2004-01-29 14:56:26 +0000
commitcd04115e0621d522c04f2eef5329060bdd15c228 (patch)
tree3fbf06d97e1591acd5dfd8e1b646662ac9db010e /util.c
parent4e8dbbb56dedecd53ec8705967a9590afb07e576 (diff)
downloadruby-cd04115e0621d522c04f2eef5329060bdd15c228.tar.gz
ruby-cd04115e0621d522c04f2eef5329060bdd15c228.tar.xz
ruby-cd04115e0621d522c04f2eef5329060bdd15c228.zip
* util.c (mblen): fix overrun. [ruby-dev:22672]
git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@5587 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'util.c')
-rw-r--r--util.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/util.c b/util.c
index a1e2dd34a..13c4f87d0 100644
--- a/util.c
+++ b/util.c
@@ -296,6 +296,8 @@ mblen(const char *s, size_t n)
if (s) {
if (n == 0 || *s == 0)
return 0;
+ else if (!s[1])
+ return 1;
return dbcs_table[(unsigned char)*s] + 1;
}
else