diff options
author | Vic Yang <victoryang@chromium.org> | 2012-07-03 10:58:23 +0800 |
---|---|---|
committer | Gerrit <chrome-bot@google.com> | 2012-07-03 10:50:45 -0700 |
commit | fda246681611ad36eb71636e653c6f79ac27ff8f (patch) | |
tree | c7f62cbce7f5b15f6d0550b02df7a098a6488c83 | |
parent | aa64550a3f01704c1a23aeab057bfb58e96100b7 (diff) | |
download | chrome-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.c | 2 |
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--; |