Opened on 05/27/15 at 18:59:39
Closed on 04/07/22 at 08:37:27
#2353 closed defect (fixed)
Error in imfs memfile when device is full
Reported by: | Joel Sherrill | Owned by: | Needs Funding |
---|---|---|---|
Priority: | normal | Milestone: | Indefinite |
Component: | fs | Version: | 4.11 |
Severity: | normal | Keywords: | |
Cc: | skruglov@… | Blocked By: | |
Blocking: |
Description
From the reporter (Круглов Сергей <skruglov@…>):
- First bug I detect with attempt write file to full device (zero empty blocks).
- And after I send too many files, disk overflow and system not responding (receive and write to disk have high priority). A test, and found block=0, after -- = too big value.
- In imfs_memfile.c
function IMFS_memfile_extend
block declared: unsigned int block, and after block— work incorrect (if block = 0).
for ( ; block>=old_blocks ; block-- ) {
IMFS_memfile_remove_block( memfile, block );
}
Must be declare int block;
Attachments (1)
Change History (5)
Changed on 05/27/15 at 18:59:58 by Joel Sherrill
Attachment: | patch-1.txt added |
---|
comment:1 Changed on 01/26/17 at 07:16:00 by Sebastian Huber
Milestone: | 4.11.1 → 4.11.2 |
---|
comment:2 Changed on 02/02/17 at 15:08:08 by Gedare Bloom
The basic problem here is that block == 0 == old_blocks. Is it valid to call IMFS_memfile_remove_block( memfile, 0 )? If so then changing unsigned to signed is a fine solution.
comment:3 Changed on 02/15/17 at 13:37:51 by Sebastian Huber
Milestone: | 4.11.2 → Indefinite |
---|---|
Owner: | set to Needs Funding |
Status: | new → assigned |
comment:4 Changed on 04/07/22 at 08:37:27 by Christian Mauderer <christian.mauderer@…>
Resolution: | → fixed |
---|---|
Status: | assigned → closed |
In 051778e/rtems:
Note: See
TracTickets for help on using
tickets.
Proposed patch