forked from Minki/linux
parisc: memory overflow, 'name' length is too short for using
'path.bc[i]' can be asigned by PCI_SLOT() which can '> 10', so sizeof(6 * "%u:" + "%u" + '\0') may be 21. Since 'name' length is 20, it may be memory overflow. And 'path.bc[i]' is 'unsigned char' for printing, we can be sure the max length of 'name' must be less than 28. So simplify thinking, we can use 28 instead of 20 directly, and do not think of whether 'patchc.bc[i]' can '> 100'. Signed-off-by: Chen Gang <gang.chen@asianux.com> Signed-off-by: Helge Deller <deller@gmx.de>
This commit is contained in:
parent
0f7dafd44e
commit
3f108de96b
@ -394,7 +394,7 @@ EXPORT_SYMBOL(print_pci_hwpath);
|
||||
static void setup_bus_id(struct parisc_device *padev)
|
||||
{
|
||||
struct hardware_path path;
|
||||
char name[20];
|
||||
char name[28];
|
||||
char *output = name;
|
||||
int i;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user