diff options
| author | Mark Brown <broonie@opensource.wolfsonmicro.com> | 2010-11-02 09:41:56 -0400 |
|---|---|---|
| committer | Mark Brown <broonie@opensource.wolfsonmicro.com> | 2010-11-02 09:41:56 -0400 |
| commit | 29c798fecb9b846b363b0a02fa662ff42fc19426 (patch) | |
| tree | e708d6aca8f098e69571780f702325b221b66694 /lib/parser.c | |
| parent | cb9906229595941d632fc4022b05da4f9533856a (diff) | |
| parent | c8ddb2713c624f432fa5fe3c7ecffcdda46ea0d4 (diff) | |
Merge commit 'v2.6.37-rc1' into for-2.6.37
Diffstat (limited to 'lib/parser.c')
| -rw-r--r-- | lib/parser.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/lib/parser.c b/lib/parser.c index fb34977246b..6e89eca5cca 100644 --- a/lib/parser.c +++ b/lib/parser.c @@ -128,12 +128,13 @@ static int match_number(substring_t *s, int *result, int base) char *endp; char *buf; int ret; + size_t len = s->to - s->from; - buf = kmalloc(s->to - s->from + 1, GFP_KERNEL); + buf = kmalloc(len + 1, GFP_KERNEL); if (!buf) return -ENOMEM; - memcpy(buf, s->from, s->to - s->from); - buf[s->to - s->from] = '\0'; + memcpy(buf, s->from, len); + buf[len] = '\0'; *result = simple_strtol(buf, &endp, base); ret = 0; if (endp == buf) |
