mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2025-01-19 09:16:06 +07:00
IB: Coverity fixes to sysfs.c
Fix two bugs found by coverity: - Memory leak in error path of alloc_group_attrs() - Fencepost error in state_show(): the test should be < ARRAY_SIZE(), not <= ARRAY_SIZE(). Signed-off-by: Roland Dreier <rolandd@cisco.com>
This commit is contained in:
parent
0b3ea0829c
commit
048975ac58
@ -112,7 +112,7 @@ static ssize_t state_show(struct ib_port *p, struct port_attribute *unused,
|
||||
return ret;
|
||||
|
||||
return sprintf(buf, "%d: %s\n", attr.state,
|
||||
attr.state >= 0 && attr.state <= ARRAY_SIZE(state_name) ?
|
||||
attr.state >= 0 && attr.state < ARRAY_SIZE(state_name) ?
|
||||
state_name[attr.state] : "UNKNOWN");
|
||||
}
|
||||
|
||||
@ -472,8 +472,10 @@ alloc_group_attrs(ssize_t (*show)(struct ib_port *,
|
||||
goto err;
|
||||
|
||||
if (snprintf(element->name, sizeof(element->name),
|
||||
"%d", i) >= sizeof(element->name))
|
||||
"%d", i) >= sizeof(element->name)) {
|
||||
kfree(element);
|
||||
goto err;
|
||||
}
|
||||
|
||||
element->attr.attr.name = element->name;
|
||||
element->attr.attr.mode = S_IRUGO;
|
||||
|
Loading…
Reference in New Issue
Block a user