aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel M German <[email protected]>2019-06-19 21:50:38 -0700
committerFelipe Balbi <[email protected]>2019-06-20 08:53:11 +0300
commit37e444c8296c14cb5768a1197b24cfc07ee8e0cd (patch)
tree965d31cbe37f6053012fb00b2ebf545238c0df50
parentd29fcf7078bc8be2b6366cbd4418265b53c94fac (diff)
usb: Replace snprintf with scnprintf in gether_get_ifname
snprintf returns the actual length of the buffer created; however, this is not the case if snprintf truncates its parameter. See https://lwn.net/Articles/69419/ for a detailed explanation. The current code correctly handles this case at the expense of extra code in the return statement. scnprintf does returns the actual length of the buffer created making the ?: operator unnecessary in the return statement. This change does not alter the functionality of the code. Signed-off-by: Daniel M German <[email protected]> Signed-off-by: Felipe Balbi <[email protected]>
-rw-r--r--drivers/usb/gadget/function/u_ether.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/usb/gadget/function/u_ether.c b/drivers/usb/gadget/function/u_ether.c
index 2929bb47a618..fbe96ef1ac7a 100644
--- a/drivers/usb/gadget/function/u_ether.c
+++ b/drivers/usb/gadget/function/u_ether.c
@@ -1006,9 +1006,9 @@ int gether_get_ifname(struct net_device *net, char *name, int len)
int ret;
rtnl_lock();
- ret = snprintf(name, len, "%s\n", netdev_name(net));
+ ret = scnprintf(name, len, "%s\n", netdev_name(net));
rtnl_unlock();
- return ret < len ? ret : len;
+ return ret;
}
EXPORT_SYMBOL_GPL(gether_get_ifname);