Fix incorrect attribute size when the channel supports fader, as well as
fixing the issue that the attribute list is not null terminated.
Testing Done:
- Verified by setting brightness and color on red/green/blue leds
of the device class test board.
Signed-off-by: David Lin <dtwlin@google.com>
Reviewed-by: Rui Miguel Silva <rui.silva@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
if (channel->flags & GB_LIGHT_CHANNEL_MULTICOLOR)
size++;
if (channel->flags & GB_LIGHT_CHANNEL_FADER)
- size++;
+ size += 2;
if (!size)
return 0;
/* Set attributes based in the channel flags */
- channel->attrs = kcalloc(size, sizeof(**channel->attrs), GFP_KERNEL);
+ channel->attrs = kcalloc(size + 1, sizeof(**channel->attrs),
+ GFP_KERNEL);
if (!channel->attrs)
return -ENOMEM;
channel->attr_group = kcalloc(1, sizeof(*channel->attr_group),