From: Markus Elfring <elfr...@users.sourceforge.net>
Date: Wed, 13 Sep 2017 21:23:29 +0200

* Move the definition for the local variables "b", "d" and "length" into
  an if branch so that the corresponding setting will only be performed
  if a memory allocation succeeded in this function.

* Adjust their data types.

Signed-off-by: Markus Elfring <elfr...@users.sourceforge.net>
---
 drivers/media/usb/ttusb-dec/ttusb_dec.c | 13 ++++++-------
 1 file changed, 6 insertions(+), 7 deletions(-)

diff --git a/drivers/media/usb/ttusb-dec/ttusb_dec.c 
b/drivers/media/usb/ttusb-dec/ttusb_dec.c
index 7759de653ee9..e9fe4c6142a5 100644
--- a/drivers/media/usb/ttusb-dec/ttusb_dec.c
+++ b/drivers/media/usb/ttusb-dec/ttusb_dec.c
@@ -812,19 +812,18 @@ static void ttusb_dec_process_urb(struct urb *urb)
                int i;
 
                for (i = 0; i < FRAMES_PER_ISO_BUF; i++) {
-                       struct usb_iso_packet_descriptor *d;
-                       u8 *b;
-                       int length;
                        struct urb_frame *frame;
 
-                       d = &urb->iso_frame_desc[i];
-                       b = urb->transfer_buffer + d->offset;
-                       length = d->actual_length;
-
                        frame = kmalloc(sizeof(*frame), GFP_ATOMIC);
                        if (frame) {
                                unsigned long flags;
+                               struct usb_iso_packet_descriptor const *d;
+                               u8 const *b;
+                               unsigned int length;
 
+                               d = &urb->iso_frame_desc[i];
+                               b = urb->transfer_buffer + d->offset;
+                               length = d->actual_length;
                                memcpy(frame->data, b, length);
                                frame->length = length;
 
-- 
2.14.1

Reply via email to