Hi, Detlev

>> @@ -1470,9 +1471,16 @@ jffs2_1pass_build_lists(struct part_info * part)
>>       /* lcd_off(); */
>>
>>       /* if we are building a list we need to refresh the cache. */
>> -     jffs_init_1pass_list(part);
>> +     if(! jffs_init_1pass_list(part))
>> +             return 0;
>> +
>
> This is strange.  We now check for an error of jffs2_init_1pass_list,
> which currently always returns 0, so let's see where you change that.
> Ah, you don't (it's in line 671 in this file).  It's only in
> jffs2_nand_1pass that you do a change, but even there we have a problem:
Yes, we check the return value of function jffs_init_1pass_list().
Also we add the check in nand flash.
I do not konw what you are talking about.

>> diff --git a/fs/jffs2/jffs2_nand_1pass.c b/fs/jffs2/jffs2_nand_1pass.c
>> index 9bad690..885fa3c 100644
>> --- a/fs/jffs2/jffs2_nand_1pass.c
>> +++ b/fs/jffs2/jffs2_nand_1pass.c
>> @@ -251,6 +251,7 @@ jffs_init_1pass_list(struct part_info *part)
>>               pL->dir.listCompare = compare_dirents;
>>               pL->frag.listCompare = compare_inodes;
>>  #endif
>> +             return 1;
>
> When malloc fails, we get no error output.
You are too strict. Search the malloc in uboot. There are many places which
do not even check the return value.
_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot

Reply via email to