[PATCH phosphor-host-ipmid v3] Handle errors finding openbmc_path #75
OpenBMC Patches
openbmc-patches at stwcx.xyz
Tue May 17 23:20:40 AEST 2016
From: Nan Li <bjlinan at cn.ibm.com>
1.Check return value properly.
Signed-off-by: Nan Li <bjlinan at cn.ibm.com>
---
ipmid.C | 10 ++++++++++
sensorhandler.C | 5 +++++
2 files changed, 15 insertions(+)
diff --git a/ipmid.C b/ipmid.C
index 728ba0b..5d7fbe7 100644
--- a/ipmid.C
+++ b/ipmid.C
@@ -565,6 +565,11 @@ int set_sensor_dbus_state_s(uint8_t number, const char *method, const char *valu
r = find_openbmc_path("SENSOR", number, &a);
+ if (r < 0) {
+ fprintf(stderr, "Failed to find Sensor 0x%02x\n", number);
+ return 0;
+ }
+
r = sd_bus_message_new_method_call(bus,&m,a.bus,a.path,a.interface,method);
if (r < 0) {
fprintf(stderr, "Failed to create a method call: %s", strerror(-r));
@@ -602,6 +607,11 @@ int set_sensor_dbus_state_y(uint8_t number, const char *method, const uint8_t va
r = find_openbmc_path("SENSOR", number, &a);
+ if (r < 0) {
+ fprintf(stderr, "Failed to find Sensor 0x%02x\n", number);
+ return 0;
+ }
+
r = sd_bus_message_new_method_call(bus,&m,a.bus,a.path,a.interface,method);
if (r < 0) {
fprintf(stderr, "Failed to create a method call: %s", strerror(-r));
diff --git a/sensorhandler.C b/sensorhandler.C
index bb14e7a..39de660 100644
--- a/sensorhandler.C
+++ b/sensorhandler.C
@@ -180,6 +180,11 @@ ipmi_ret_t ipmi_sen_get_sensor_reading(ipmi_netfn_t netfn, ipmi_cmd_t cmd,
r = find_openbmc_path("SENSOR", reqptr->sennum, &a);
+ if (r < 0) {
+ fprintf(stderr, "Failed to find Sensor 0x%02x\n", reqptr->sennum);
+ return IPMI_CC_SENSOR_INVALID;
+ }
+
type = find_sensor(reqptr->sennum);
fprintf(stderr, "Bus: %s, Path: %s, Interface: %s\n", a.bus, a.path, a.interface);
--
2.8.2
More information about the openbmc
mailing list