diff options
author | Himangi Saraogi <himangi774@gmail.com> | 2014-06-28 14:36:29 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2014-07-07 20:00:31 -0400 |
commit | b98fe24ca7d0effdd4c47a9f681d9e4f10442827 (patch) | |
tree | a4f2123ff4fbed0c83aad92b862cfefca1d8c584 /net/batman-adv | |
parent | 0a7fdbde691118b0717058b272284e5f4b81f1bb (diff) |
batman-adv: Use kasprintf
kasprintf combines kmalloc and sprintf, and takes care of the size
calculation itself.
The semantic patch that makes this change is as follows:
// <smpl>
@@
expression a,flag;
expression list args;
statement S;
@@
a =
- \(kmalloc\|kzalloc\)(...,flag)
+ kasprintf(flag,args)
<... when != a
if (a == NULL || ...) S
...>
- sprintf(a,args);
// </smpl>
Signed-off-by: Himangi Saraogi <himangi774@gmail.com>
Acked-by: Julia Lawall <julia.lawall@lip6.fr>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/batman-adv')
-rw-r--r-- | net/batman-adv/sysfs.c | 24 |
1 files changed, 8 insertions, 16 deletions
diff --git a/net/batman-adv/sysfs.c b/net/batman-adv/sysfs.c index fc47baa888c5..f40cb0436eba 100644 --- a/net/batman-adv/sysfs.c +++ b/net/batman-adv/sysfs.c | |||
@@ -900,32 +900,24 @@ int batadv_throw_uevent(struct batadv_priv *bat_priv, enum batadv_uev_type type, | |||
900 | 900 | ||
901 | bat_kobj = &bat_priv->soft_iface->dev.kobj; | 901 | bat_kobj = &bat_priv->soft_iface->dev.kobj; |
902 | 902 | ||
903 | uevent_env[0] = kmalloc(strlen(BATADV_UEV_TYPE_VAR) + | 903 | uevent_env[0] = kasprintf(GFP_ATOMIC, |
904 | strlen(batadv_uev_type_str[type]) + 1, | 904 | "%s%s", BATADV_UEV_TYPE_VAR, |
905 | GFP_ATOMIC); | 905 | batadv_uev_type_str[type]); |
906 | if (!uevent_env[0]) | 906 | if (!uevent_env[0]) |
907 | goto out; | 907 | goto out; |
908 | 908 | ||
909 | sprintf(uevent_env[0], "%s%s", BATADV_UEV_TYPE_VAR, | 909 | uevent_env[1] = kasprintf(GFP_ATOMIC, |
910 | batadv_uev_type_str[type]); | 910 | "%s%s", BATADV_UEV_ACTION_VAR, |
911 | 911 | batadv_uev_action_str[action]); | |
912 | uevent_env[1] = kmalloc(strlen(BATADV_UEV_ACTION_VAR) + | ||
913 | strlen(batadv_uev_action_str[action]) + 1, | ||
914 | GFP_ATOMIC); | ||
915 | if (!uevent_env[1]) | 912 | if (!uevent_env[1]) |
916 | goto out; | 913 | goto out; |
917 | 914 | ||
918 | sprintf(uevent_env[1], "%s%s", BATADV_UEV_ACTION_VAR, | ||
919 | batadv_uev_action_str[action]); | ||
920 | |||
921 | /* If the event is DEL, ignore the data field */ | 915 | /* If the event is DEL, ignore the data field */ |
922 | if (action != BATADV_UEV_DEL) { | 916 | if (action != BATADV_UEV_DEL) { |
923 | uevent_env[2] = kmalloc(strlen(BATADV_UEV_DATA_VAR) + | 917 | uevent_env[2] = kasprintf(GFP_ATOMIC, |
924 | strlen(data) + 1, GFP_ATOMIC); | 918 | "%s%s", BATADV_UEV_DATA_VAR, data); |
925 | if (!uevent_env[2]) | 919 | if (!uevent_env[2]) |
926 | goto out; | 920 | goto out; |
927 | |||
928 | sprintf(uevent_env[2], "%s%s", BATADV_UEV_DATA_VAR, data); | ||
929 | } | 921 | } |
930 | 922 | ||
931 | ret = kobject_uevent_env(bat_kobj, KOBJ_CHANGE, uevent_env); | 923 | ret = kobject_uevent_env(bat_kobj, KOBJ_CHANGE, uevent_env); |