X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=src%2Fstring%2Fstrerror_r.c;h=907dcf079a9a39c977ef52523c4fb564676f5217;hb=facc6acbfd20accea435d10fdd070b23877e40db;hp=6fdd4ce2c844530222a974d3b543a002bec4e04c;hpb=0b44a0315b47dd8eced9f3b7f31580cf14bbfc01;p=musl diff --git a/src/string/strerror_r.c b/src/string/strerror_r.c index 6fdd4ce2..907dcf07 100644 --- a/src/string/strerror_r.c +++ b/src/string/strerror_r.c @@ -4,8 +4,14 @@ int strerror_r(int err, char *buf, size_t buflen) { char *msg = strerror(err); - if (strlen(msg) >= buflen) + size_t l = strlen(msg); + if (l >= buflen) { + if (buflen) { + memcpy(buf, msg, buflen-1); + buf[buflen-1] = 0; + } return ERANGE; - strcpy(buf, msg); + } + memcpy(buf, msg, l+1); return 0; }