From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tom Rini Date: Fri, 24 Apr 2020 15:28:01 -0400 Subject: [PATCH] lib: strto: Fix parsing MTD partition size In-Reply-To: <20200424191543.rwiuaqjmzwathtxm@pali> References: <20200424182133.17335-1-pali@kernel.org> <20200424182941.vjoaoz4jd5ohvdbn@pali> <20200424191242.GH4555@bill-the-cat> <20200424191543.rwiuaqjmzwathtxm@pali> Message-ID: <20200424192801.GI4555@bill-the-cat> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de On Fri, Apr 24, 2020 at 09:15:43PM +0200, Pali Roh?r wrote: > On Friday 24 April 2020 15:12:42 Tom Rini wrote: > > On Fri, Apr 24, 2020 at 08:29:41PM +0200, Pali Roh?r wrote: > > > On Friday 24 April 2020 20:21:33 Pali Roh?r wrote: > > > > Commit 0486497e2b5f ("lib: Improve _parse_integer_fixup_radix base 16 > > > > detection") broke parsing MTD partition sizes specified in decimal base. > > > > > > > > E.g. "128k(bootloader)" is parsed by drivers/mtd/mtdpart.c as hexadecimal > > > > number (0x128 << 10) because character 'a' in substring "bootloader" caused > > > > parsing whole number as hexadecimal. > > > > > > > > This patch stop doing hexadecimal base heuristic on first non-valid > > > > hexadecimal number, so "128k(bootloader)" is parsed as decimal number 128. > > > > > > > > Fixes: 0486497e2b5f ("lib: Improve _parse_integer_fixup_radix base 16...") > > > > Signed-off-by: Pali Roh?r > > > > --- > > > > lib/strto.c | 3 +++ > > > > 1 file changed, 3 insertions(+) > > > > > > > > diff --git a/lib/strto.c b/lib/strto.c > > > > index 1ac2b09c72..060b66b915 100644 > > > > --- a/lib/strto.c > > > > +++ b/lib/strto.c > > > > @@ -30,6 +30,9 @@ static const char *_parse_integer_fixup_radix(const char *s, unsigned int *base) > > > > > > > > do { > > > > var = tolower(s[i++]); > > > > + if (!(var >= '0' && var <= '9') && > > > > + !(var >= 'a' && var <= 'f')) > > > > + break; > > > > if (var >= 'a' && var <= 'f') { > > > > *base = 16; > > > > break; > > > > -- > > > > 2.20.1 > > > > > > > > > > CC Tom, this problem was detected by my in-progress Travis Nokia N900 > > > test which tries to boot kernel from the OneNAND. Build log is there: > > > https://travis-ci.org/github/u-boot/u-boot/jobs/679007310 > > > > This is the same as: > > http://patchwork.ozlabs.org/project/uboot/patch/1a681dbefac4c353ad53d7f6cd1a75812036739a.1586333353.git.michal.simek at xilinx.com/ > > yes? Thanks! > > Yes, this is the same problem. Can you please test (and Tested-by) that one? Thanks! -- Tom -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 659 bytes Desc: not available URL: