greybus: power_supply: fix leak getting string properties
authorRui Miguel Silva <rui.silva@linaro.org>
Fri, 8 Jan 2016 13:53:46 +0000 (13:53 +0000)
committerGreg Kroah-Hartman <gregkh@google.com>
Tue, 12 Jan 2016 03:18:14 +0000 (19:18 -0800)
When fetching string properties, memory was being allocated and leaked
when it was not necessary to do so.

Signed-off-by: Rui Miguel Silva <rui.silva@linaro.org>
Reviewed-by: Johan Hovold <johan@hovoldconsulting.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
drivers/staging/greybus/power_supply.c

index 28548a2432403aab43cfaa86730563e4ada3a32c..3c9bb12351e447f422a4b3ba50e10dd011908934 100644 (file)
@@ -347,15 +347,13 @@ static int __gb_power_supply_property_strval_get(struct gb_power_supply *gbpsy,
 {
        switch (psp) {
        case POWER_SUPPLY_PROP_MODEL_NAME:
-               val->strval = kstrndup(gbpsy->model_name, PROP_MAX, GFP_KERNEL);
+               val->strval = gbpsy->model_name;
                break;
        case POWER_SUPPLY_PROP_MANUFACTURER:
-               val->strval = kstrndup(gbpsy->manufacturer, PROP_MAX,
-                                      GFP_KERNEL);
+               val->strval = gbpsy->manufacturer;
                break;
        case POWER_SUPPLY_PROP_SERIAL_NUMBER:
-               val->strval = kstrndup(gbpsy->serial_number, PROP_MAX,
-                                      GFP_KERNEL);
+               val->strval = gbpsy->serial_number;
                break;
        default:
                break;