# Re: \[PATCH\] add NULL short circuit to fb\_dealloc\_cmap()

- From: Jon Smirl \<hidden\>
- Date: 2005-07-17 20:22:51 
- List: linux-fbdev
- Page: https://ratatoskr.run/linux-fbdev/2005/07/750376
- Thread: https://ratatoskr.run/lkml/2005/07/750365/t.md

```text
On 7/17/05, Jesper Juhl [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
```
