]> asedeno.scripts.mit.edu Git - linux.git/commitdiff
usb: gadget: udc: Use scnprintf() instead of snprintf()
authorJaejoong Kim <climbbb.kim@gmail.com>
Tue, 27 Feb 2018 02:04:22 +0000 (11:04 +0900)
committerFelipe Balbi <felipe.balbi@linux.intel.com>
Tue, 13 Mar 2018 08:47:51 +0000 (10:47 +0200)
The show() method should use scnprintf() not snprintf() because snprintf()
may returns a value that exceeds its second argument.

Signed-off-by: Jaejoong Kim <climbbb.kim@gmail.com>
Signed-off-by: Felipe Balbi <felipe.balbi@linux.intel.com>
drivers/usb/gadget/udc/core.c
drivers/usb/gadget/udc/dummy_hcd.c

index 1f8b19d9cf97bdd2224102a3e2a1684460c6a46f..50988b21a21b09b0108e65b479f495ba01b3190b 100644 (file)
@@ -1482,7 +1482,7 @@ ssize_t name##_show(struct device *dev,                                   \
                struct device_attribute *attr, char *buf)               \
 {                                                                      \
        struct usb_udc *udc = container_of(dev, struct usb_udc, dev);   \
-       return snprintf(buf, PAGE_SIZE, "%s\n",                         \
+       return scnprintf(buf, PAGE_SIZE, "%s\n",                        \
                        usb_speed_string(udc->gadget->param));          \
 }                                                                      \
 static DEVICE_ATTR_RO(name)
@@ -1497,7 +1497,7 @@ ssize_t name##_show(struct device *dev,                           \
        struct usb_udc          *udc = container_of(dev, struct usb_udc, dev); \
        struct usb_gadget       *gadget = udc->gadget;          \
                                                                \
-       return snprintf(buf, PAGE_SIZE, "%d\n", gadget->name);  \
+       return scnprintf(buf, PAGE_SIZE, "%d\n", gadget->name); \
 }                                                              \
 static DEVICE_ATTR_RO(name)
 
index e744d4b7bfed4deb4d2110f328f8eb939dd2bfe9..baf72f95f0f1cb38ff443bc802a258b6f04ef899 100644 (file)
@@ -2366,7 +2366,7 @@ static inline ssize_t show_urb(char *buf, size_t size, struct urb *urb)
 {
        int ep = usb_pipeendpoint(urb->pipe);
 
-       return snprintf(buf, size,
+       return scnprintf(buf, size,
                "urb/%p %s ep%d%s%s len %d/%d\n",
                urb,
                ({ char *s;