summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorxhe <xw897002528@gmail.com>2018-12-07 11:25:07 +0800
committerrofl0r <retnyg@gmx.net>2019-01-16 02:38:18 +0000
commit445d2550c74b1dea3f621e160d364484448da0bc (patch)
tree4b2550b1d59fb851dfc0f7126fbbab6438838c36
parent913a5155d07d83563f3e8dfe0c521f3d13da991f (diff)
downloadgettext-tiny-445d2550c74b1dea3f621e160d364484448da0bc.tar.gz
poparser: avoid invalid memory access
mentioned by rofl0r. if y is shorter than strlen(sysdep_str[n]), it may corrupt the memory. we better use strncmp instead.
-rw-r--r--src/poparser.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/poparser.c b/src/poparser.c
index 55f9c49..e4eff3c 100644
--- a/src/poparser.c
+++ b/src/poparser.c
@@ -362,7 +362,7 @@ size_t poparser_sysdep(const char *in, char *out, int cnt[]) {
y++;
for (n=0; n < st_max; n++) {
- if (!memcmp(y, sysdep_str[n], strlen(sysdep_str[n]))) {
+ if (!strncmp(y, sysdep_str[n], strlen(sysdep_str[n]))) {
if (outs)
memcpy(out, x, y-x);
out += y-x;