summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVic Yang <victoryang@chromium.org>2012-07-03 10:58:23 +0800
committerGerrit <chrome-bot@google.com>2012-07-03 10:50:45 -0700
commitfda246681611ad36eb71636e653c6f79ac27ff8f (patch)
treec7f62cbce7f5b15f6d0550b02df7a098a6488c83
parentaa64550a3f01704c1a23aeab057bfb58e96100b7 (diff)
downloadchrome-ec-fda246681611ad36eb71636e653c6f79ac27ff8f.tar.gz
Prevent strzcpy access out-of-bound
When parameter 'len' is smaller or equal to 0, do not null-terminate. BUG=chrome-os-partner:11041 TEST=Build success. Change-Id: Ia5267e7d31e3ade8828ba0bc2d68405b4cd236be Reviewed-on: https://gerrit.chromium.org/gerrit/26640 Reviewed-by: Randall Spangler <rspangler@chromium.org> Commit-Ready: Vic Yang <victoryang@chromium.org> Tested-by: Vic Yang <victoryang@chromium.org>
-rw-r--r--common/util.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/common/util.c b/common/util.c
index b8afdf45c9..69cdf1db64 100644
--- a/common/util.c
+++ b/common/util.c
@@ -184,6 +184,8 @@ void *memmove(void *dest, const void *src, int len)
char *strzcpy(char *dest, const char *src, int len)
{
char *d = dest;
+ if (len <= 0)
+ return dest;
while (len > 1 && *src) {
*(d++) = *(src++);
len--;