[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[avr-libc-dev] [bugs #11494] strtol() return wrong value in the underflo
From: |
Eric Weddington |
Subject: |
[avr-libc-dev] [bugs #11494] strtol() return wrong value in the underflow case |
Date: |
Mon, 10 Jan 2005 22:51:37 +0000 |
User-agent: |
Mozilla/5.0 (Windows; U; Windows NT 5.1; rv:1.7.3) Gecko/20041001 Firefox/0.10.1 |
This is an automated notification sent by Savannah.
It relates to:
bugs #11494, project AVR C Runtime Library
==============================================================================
LATEST MODIFICATIONS of bugs #11494:
==============================================================================
Posted by: Eric Weddington <arcanum>
Posted on: 2005-01-10 22:51 (America/Denver)
_______________________________________________________
Follow-up Comment:
In the patch for this bug, can you rewrite your typecasts using the types
found in stdint.h? (for example uint32_t, uint16_t)
That way it can start to be -mint8 compatible.
Thanks!
Eric
==============================================================================
OVERVIEW of bugs #11494:
==============================================================================
URL:
<http://savannah.nongnu.org/bugs/?func=detailitem&item_id=11494>
Summary: strtol() return wrong value in the underflow case
Project: AVR C Runtime Library
Submitted by: None
Submitted on: Wed 01/05/2005 at 07:31
Category: Library
Severity: 5 - Average
Priority: 9 - Immediate
Item Group: None
Status: None
Privacy: Public
Percent Complete: 0%
Assigned to: None
Originator Email: address@hidden
Open/Closed: Open
_______________________________________________________
This is very old bug.
strtol() must return LONG_MIN for inputs too small.
Original Berkeley version do it. But avr-libc's version, for example,
"-5000000000" --> -705032704 (simulavr, avr-gcc 3.3.4). You can reproduce
such result on any 32-bit computer.
The reason is the attemption to negative LONG_MIN value (0x80000000).
Attached patch correct this mistake. (And it excude compiler warnings in
comparison).
_______________________________________________________
Follow-up Comments:
-------------------------------------------------------
Date: Mon 01/10/2005 at 22:51 By: Eric Weddington <arcanum>
In the patch for this bug, can you rewrite your typecasts using the types
found in stdint.h? (for example uint32_t, uint16_t)
That way it can start to be -mint8 compatible.
Thanks!
Eric
-------------------------------------------------------
Date: Thu 01/06/2005 at 07:29 By: Anonymous
Look, please, the optimized strtol, patch #3618. Twice speed up, and 32 bytes
stack usage decrease. Code size the same.
_______________________________________________________
File Attachments:
-------------------------------------------------------
Date: Wed 01/05/2005 at 07:31 Name: strtol-20050105.diff Size: 856B By:
None
Patch for strtol.c (from avr-libc-1.2.0)
<http://savannah.nongnu.org/bugs/download.php?item_id=11494&item_file_id=2025>
==============================================================================
This item URL is:
<http://savannah.nongnu.org/bugs/?func=detailitem&item_id=11494>
_______________________________________________
Message sent via/by Savannah
http://savannah.nongnu.org/