extcon: signedness bugs break error handling
Subsystems (2)
PATCH 1/1 extcon: signedness bugs break error handling
Unsigned is never less than zero so this error handling won't work.
Fixes be052cc87745 ('extcon: Fix hang and extcon_get/set_cable_state().')
Signed-off-by Dan Carpenter <[email protected]>
drivers/extcon/extcon.c +3 -3
@@ -143,7 +143,7 @@ static int find_cable_id_by_name(struct extcon_dev *edev, const char *name)static int find_cable_index_by_name (struct extcon_dev *edev,const char *name) { -unsigned int id; +int id;if (edev->max_supported =0 )return -EINVAL ;
@@ -379,7 +379,7 @@ EXPORT_SYMBOL_GPL(extcon_get_cable_state_);*/ int extcon_get_cable_state (struct extcon_dev *edev,const char *cable_name) { -unsigned int id; +int id; id =find_cable_id_by_name (edev, cable_name);if (id <0 )
@@ -430,7 +430,7 @@ EXPORT_SYMBOL_GPL(extcon_set_cable_state_);int extcon_set_cable_state (struct extcon_dev *edev,const char *cable_name,bool cable_state) { -unsigned int id; +int id; id =find_cable_id_by_name (edev, cable_name);if (id <0 )
Quoted 4 lines · Dan Carpenter
Unsigned is never less than zero so this error handling won't work.
Fixes be052cc87745 ('extcon: Fix hang and extcon_get/set_cable_state().')Signed-off-by Dan Carpenter <[email protected]>
Thanks Dan.
Reviewed-by Roger Quadros <[email protected]>
cheers,
-roger
Quoted 33 lines
drivers/extcon/extcon.c +3
-3@@ -143,7 +143,7 @@ static int find_cable_id_by_name(struct extcon_dev *edev, const char *name)static int find_cable_index_by_name (struct extcon_dev *edev,const char *name) { -unsigned int id; +int id;if (edev->max_supported =0 )return -EINVAL ;@@ -379,7 +379,7 @@ EXPORT_SYMBOL_GPL(extcon_get_cable_state_);*/ int extcon_get_cable_state (struct extcon_dev *edev,const char *cable_name) { -unsigned int id; +int id; id =find_cable_id_by_name (edev, cable_name);if (id <0 )@@ -430,7 +430,7 @@ EXPORT_SYMBOL_GPL(extcon_set_cable_state_);int extcon_set_cable_state (struct extcon_dev *edev,const char *cable_name,bool cable_state) { -unsigned int id; +int id; id =find_cable_id_by_name (edev, cable_name);if (id <0 )
Chanwoo Choi
maintainerdrivers/extcon/extcon.c static int find_cable_id_by_name(struct extcon_dev *edev, const char *name) · line 143
Quoted 11 lines · Dan Carpenter
Unsigned is never less than zero so this error handling won't work.
Fixes be052cc87745 ('extcon: Fix hang and extcon_get/set_cable_state().')Signed-off-by Dan Carpenter <[email protected]>drivers/extcon/extcon.c +0
-0@@ -143,7 +143,7 @@ static int find_cable_id_by_name(struct extcon_dev *edev, const char *name)
Applied it.
Thanks,
Chanwoo Choi