aboutsummaryrefslogtreecommitdiff
path: root/jimregexp.c
diff options
context:
space:
mode:
authorSteve Bennett <steveb@workware.net.au>2013-11-06 08:49:11 +1000
committerSteve Bennett <steveb@workware.net.au>2013-11-06 08:55:15 +1000
commita077f0800f5bbc7ca5f3b368726f7d1757c16549 (patch)
treed1f32c6dfaf29df2cd2a2663ba99537af59b8c26 /jimregexp.c
parent91960fb0e584579c5dc25376b5bfba8c6eafa4a3 (diff)
downloadjimtcl-a077f0800f5bbc7ca5f3b368726f7d1757c16549.zip
jimtcl-a077f0800f5bbc7ca5f3b368726f7d1757c16549.tar.gz
jimtcl-a077f0800f5bbc7ca5f3b368726f7d1757c16549.tar.bz2
Fix [string tolower] buffer overflow for non-utf8
Reported-by: Andy <jimdevel@hummypkg.org.uk> Signed-off-by: Steve Bennett <steveb@workware.net.au>
Diffstat (limited to 'jimregexp.c')
-rw-r--r--jimregexp.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/jimregexp.c b/jimregexp.c
index efc56a1..fce33d9 100644
--- a/jimregexp.c
+++ b/jimregexp.c
@@ -1665,10 +1665,10 @@ static void regdump(regex_t *preg)
while (preg->program[s]) {
int len = preg->program[s++];
int first = preg->program[s++];
- buf[utf8_fromunicode(buf, first)] = 0;
+ buf[utf8_setunicode(buf, first)] = 0;
printf("%s", buf);
if (len > 1) {
- buf[utf8_fromunicode(buf, first + len - 1)] = 0;
+ buf[utf8_setunicode(buf, first + len - 1)] = 0;
printf("-%s", buf);
}
}
@@ -1678,7 +1678,7 @@ static void regdump(regex_t *preg)
/* Literal string, where present. */
while (preg->program[s]) {
- buf[utf8_fromunicode(buf, preg->program[s])] = 0;
+ buf[utf8_setunicode(buf, preg->program[s])] = 0;
printf("%s", buf);
s++;
}
@@ -1690,7 +1690,7 @@ static void regdump(regex_t *preg)
if (op == END) {
/* Header fields of interest. */
if (preg->regstart) {
- buf[utf8_fromunicode(buf, preg->regstart)] = 0;
+ buf[utf8_setunicode(buf, preg->regstart)] = 0;
printf("start '%s' ", buf);
}
if (preg->reganch)