From: Yi Yang <yi.y.yang@intel.com>
To: Swen Schillig <swen@vnet.ibm.com>
Cc: linux-kernel@vger.kernel.org, Andrew Morton <akpm@linux-foundation.org>
Subject: Re: [PATCH] lib/vsprintf.c: wrong conversion function used
Date: Sun, 10 Aug 2008 23:38:40 +0800 [thread overview]
Message-ID: <1218382720.1409.37.camel@yangyi-dev.bj.intel.com> (raw)
In-Reply-To: <200808071124.06160.swen@vnet.ibm.com>
Swen, your fix is just partly correct, it'll has a big problem for strict_strtoul, because val is of long type,
but you patch will result in long long return type, the below patch is a correct fix.
Signed-off-by: Yi Yang <yi.y.yang@intel.com>
Noticed-by: Swen Schillig <swen@vnet.ibm.com>
---
vsprintf.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/lib/vsprintf.c b/lib/vsprintf.c
index 1dc2d1d..d8d1d11 100644
--- a/lib/vsprintf.c
+++ b/lib/vsprintf.c
@@ -220,7 +220,7 @@ int strict_strtou##type(const char *cp, unsigned int base, valtype *res)\
if (len == 0) \
return -EINVAL; \
\
- val = simple_strtoul(cp, &tail, base); \
+ val = simple_strtou##type(cp, &tail, base); \
if ((*tail == '\0') || \
((len == (size_t)(tail - cp) + 1) && (*tail == '\n'))) {\
*res = val; \
On Thu, 2008-08-07 at 11:24 +0200, Swen Schillig wrote:
> From: Swen Schillig <swen@vnet.ibm.com>
>
> The macro define_strict_strtoux() is using the simple_strtoul ()
> function as opposed to the simple_strtoull() function.
> This leads to false conversions on non-64bit
> machines (here 31bit System z).
>
> The following patch fixes the issue introduced by
>
> commit 06b2a76d25d3cfbd14680021c1d356c91be6904e
> Author: Yi Yang <yi.y.yang@intel.com>
> Date: Fri Feb 8 04:21:57 2008 -0800
>
> Signed-off-by: Swen Schillig <swen@vnet.ibm.com>
> ---
> lib/vsprintf.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> Index: HEAD/lib/vsprintf.c
> ===================================================================
> --- HEAD.orig/lib/vsprintf.c
> +++ HEAD/lib/vsprintf.c
> @@ -220,7 +220,7 @@ int strict_strtou##type(const char *cp,
> if (len == 0) \
> return -EINVAL; \
> \
> - val = simple_strtoul(cp, &tail, base); \
> + val = simple_strtoull(cp, &tail, base); \
> if ((*tail == '\0') || \
> ((len == (size_t)(tail - cp) + 1) && (*tail == '\n'))) {\
> *res = val; \
prev parent reply other threads:[~2008-08-11 3:26 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-08-07 9:24 [PATCH] lib/vsprintf.c: wrong conversion function used Swen Schillig
2008-08-10 15:38 ` Yi Yang [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1218382720.1409.37.camel@yangyi-dev.bj.intel.com \
--to=yi.y.yang@intel.com \
--cc=akpm@linux-foundation.org \
--cc=linux-kernel@vger.kernel.org \
--cc=swen@vnet.ibm.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.