dfu:function: Fix number of allocated DFU function pointers
This subtle change fix problem with too small amount of allocated memory to store DFU function pointers. One needs to allocate extra space for sentinel NULL pointer in this array of function pointers. With the previous code, the NULL value overwrites malloc internal data and afterwards free(f_dfu->function) crashes. Signed-off-by: Lukasz Majewski <l.majewski@samsung.com> Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com> Cc: Marek Vasut <marex@denx.de>
This commit is contained in:
parent
7a34278542
commit
e059a400ad
@ -589,7 +589,7 @@ static int dfu_prepare_function(struct f_dfu *f_dfu, int n)
|
||||
struct usb_interface_descriptor *d;
|
||||
int i = 0;
|
||||
|
||||
f_dfu->function = calloc(sizeof(struct usb_descriptor_header *), n);
|
||||
f_dfu->function = calloc(sizeof(struct usb_descriptor_header *), n + 1);
|
||||
if (!f_dfu->function)
|
||||
goto enomem;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user