On 7/17/05, Jesper Juhl [off-list ref] wrote:
Resource freeing functions should generally be safe to call with NULL pointers.
Why?
- there is some precedence in the kernel for this for deallocation functions.
- removes the need for callers to check pointers for NULL.
- space is saved overall by less code to test pointers for NULL all over the place.
- removes possible NULL pointer dereferences when a caller forgot to check.
This patch makes fb_dealloc_cmap() safe to call with a NULL pointer argument.
The fb cmap copde would be a lot simpler if it did everything with a
single allocation instead of five. Make a super cmap struct:
struct fb_super_cmap {
struct fb_cmap cmap;
__u16 red[255];
__u16 blue[255];
__u16 green[255];
__u16 transp[255];
}
Then adjust the code as need. Have the embedded cmap struct point to
the fields in the super_cmap and the drivers don't have to be changed.
--
Jon Smirl
jonsmirl@gmail.com