Skip to content

Commit b98fe24

Browse files
himangi774davem330
authored andcommitted
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 <[email protected]> Acked-by: Julia Lawall <[email protected]> Signed-off-by: David S. Miller <[email protected]>
1 parent 0a7fdbd commit b98fe24

File tree

1 file changed

+8
-16
lines changed

1 file changed

+8
-16
lines changed

net/batman-adv/sysfs.c

Lines changed: 8 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -900,32 +900,24 @@ int batadv_throw_uevent(struct batadv_priv *bat_priv, enum batadv_uev_type type,
900900

901901
bat_kobj = &bat_priv->soft_iface->dev.kobj;
902902

903-
uevent_env[0] = kmalloc(strlen(BATADV_UEV_TYPE_VAR) +
904-
strlen(batadv_uev_type_str[type]) + 1,
905-
GFP_ATOMIC);
903+
uevent_env[0] = kasprintf(GFP_ATOMIC,
904+
"%s%s", BATADV_UEV_TYPE_VAR,
905+
batadv_uev_type_str[type]);
906906
if (!uevent_env[0])
907907
goto out;
908908

909-
sprintf(uevent_env[0], "%s%s", BATADV_UEV_TYPE_VAR,
910-
batadv_uev_type_str[type]);
911-
912-
uevent_env[1] = kmalloc(strlen(BATADV_UEV_ACTION_VAR) +
913-
strlen(batadv_uev_action_str[action]) + 1,
914-
GFP_ATOMIC);
909+
uevent_env[1] = kasprintf(GFP_ATOMIC,
910+
"%s%s", BATADV_UEV_ACTION_VAR,
911+
batadv_uev_action_str[action]);
915912
if (!uevent_env[1])
916913
goto out;
917914

918-
sprintf(uevent_env[1], "%s%s", BATADV_UEV_ACTION_VAR,
919-
batadv_uev_action_str[action]);
920-
921915
/* If the event is DEL, ignore the data field */
922916
if (action != BATADV_UEV_DEL) {
923-
uevent_env[2] = kmalloc(strlen(BATADV_UEV_DATA_VAR) +
924-
strlen(data) + 1, GFP_ATOMIC);
917+
uevent_env[2] = kasprintf(GFP_ATOMIC,
918+
"%s%s", BATADV_UEV_DATA_VAR, data);
925919
if (!uevent_env[2])
926920
goto out;
927-
928-
sprintf(uevent_env[2], "%s%s", BATADV_UEV_DATA_VAR, data);
929921
}
930922

931923
ret = kobject_uevent_env(bat_kobj, KOBJ_CHANGE, uevent_env);

0 commit comments

Comments
 (0)