Re: [patch] ext2_fill_super breakage

From: Alexander Viro (viro@math.psu.edu)
Date: Thu Mar 28 2002 - 09:21:26 EST


On Wed, 27 Mar 2002, Andrew Morton wrote:

> In 2.5.7 there is a thinko in the allocation and initialisation
> of the fs-private superblock for ext2. It's passing the wrong type
> to the sizeof operator (which of course gives the wrong size)
> when allocating and clearing the memory.
 
> Lesson for the day: this is one of the reasons why this idiom:
>
> some_type *p;
>
> p = malloc(sizeof(*p));
> ...
> memset(p, 0, sizeof(*p));
>
> is preferable to
>
> some_type *p;
>
> p = malloc(sizeof(some_type));
> ...
> memset(p, 0, sizeof(some_type));

... however, there is a lot of reasons why the former is preferable.
For one thing, the latter is hell on any search. Moreover, I would
argue that memset() on a structure is not a good idea - better do
the explicit initialization.

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Sun Mar 31 2002 - 22:00:16 EST