Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 048975ac authored by Roland Dreier's avatar Roland Dreier
Browse files

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: default avatarRoland Dreier <rolandd@cisco.com>
parent 0b3ea082
Loading
Loading
Loading
Loading
+4 −2
Original line number Diff line number Diff line
@@ -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;