From patchwork Tue Oct 23 19:57:05 2012 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ezequiel Garcia X-Patchwork-Id: 1634961 Return-Path: X-Original-To: patchwork-linux-media@patchwork.kernel.org Delivered-To: patchwork-process-083081@patchwork1.kernel.org Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by patchwork1.kernel.org (Postfix) with ESMTP id 1C2B83FD85 for ; Tue, 23 Oct 2012 21:18:41 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S933282Ab2JWT6a (ORCPT ); Tue, 23 Oct 2012 15:58:30 -0400 Received: from mail-gh0-f174.google.com ([209.85.160.174]:62157 "EHLO mail-gh0-f174.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1757452Ab2JWT63 (ORCPT ); Tue, 23 Oct 2012 15:58:29 -0400 Received: by mail-gh0-f174.google.com with SMTP id g15so834680ghb.19 for ; Tue, 23 Oct 2012 12:58:28 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=from:to:cc:subject:date:message-id:x-mailer:in-reply-to:references; bh=KWu/8l8OB7Esz3vN2K5s3JKpKc0M5Ey9dhP9ubwNpKA=; b=dImivu2S9Sq5vMB2SwbYeP1O3DKk01pwTz0jxt5e8rvDxCoC3//AiMD9z4Ws/4Yr2s SzUXR6lnH1ejNYQA2Ke9FJzb8izwqY61TBGGX2YfbDQCbwNaJq6UQI5+YQR0YeRBn1Xr feIH8osiqZ9maQ+5lYHvsufxhmOgGpmj0oIaqZi1xfos5PD5BqzDctabhSu5Q/AdUQA7 x+C4yv1K07A+LjGVZCTkPw0kvjv66DgJVOnrCwSc+f+Rcw+sYiGN4dZm1hvPV2F80kb3 bF4cxTRXhLJdTJ0xMcu8gyVOXLDw7UgFFeiTiOK8i6u+FAM4qfO9yppZPD0vEOwTD8ER ZdaQ== Received: by 10.236.81.242 with SMTP id m78mr12620272yhe.36.1351022308538; Tue, 23 Oct 2012 12:58:28 -0700 (PDT) Received: from localhost.localdomain ([186.153.120.250]) by mx.google.com with ESMTPS id k63sm12813347yhj.20.2012.10.23.12.58.25 (version=TLSv1/SSLv3 cipher=OTHER); Tue, 23 Oct 2012 12:58:26 -0700 (PDT) From: Ezequiel Garcia To: , Cc: Julia.Lawall@lip6.fr, kernel-janitors@vger.kernel.org, Ezequiel Garcia , Peter Senna Tschudin Subject: [PATCH 02/23] cx231xx: Replace memcpy with struct assignment Date: Tue, 23 Oct 2012 16:57:05 -0300 Message-Id: <1351022246-8201-2-git-send-email-elezegarcia@gmail.com> X-Mailer: git-send-email 1.7.4.4 In-Reply-To: <1351022246-8201-1-git-send-email-elezegarcia@gmail.com> References: <1351022246-8201-1-git-send-email-elezegarcia@gmail.com> Sender: linux-media-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-media@vger.kernel.org This kind of memcpy() is error-prone. Its replacement with a struct assignment is prefered because it's type-safe and much easier to read. Found by coccinelle. Hand patched and reviewed. Tested by compilation only. A simplified version of the semantic match that finds this problem is as follows: (http://coccinelle.lip6.fr/) // @@ identifier struct_name; struct struct_name to; struct struct_name from; expression E; @@ -memcpy(&(to), &(from), E); +to = from; // Signed-off-by: Peter Senna Tschudin Signed-off-by: Ezequiel Garcia --- drivers/media/usb/cx231xx/cx231xx-cards.c | 2 +- drivers/media/usb/cx231xx/cx231xx-video.c | 3 +-- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/drivers/media/usb/cx231xx/cx231xx-cards.c b/drivers/media/usb/cx231xx/cx231xx-cards.c index b84ebc5..352d676 100644 --- a/drivers/media/usb/cx231xx/cx231xx-cards.c +++ b/drivers/media/usb/cx231xx/cx231xx-cards.c @@ -705,7 +705,7 @@ void cx231xx_sleep_s5h1432(struct cx231xx *dev) static inline void cx231xx_set_model(struct cx231xx *dev) { - memcpy(&dev->board, &cx231xx_boards[dev->model], sizeof(dev->board)); + dev->board = cx231xx_boards[dev->model]; } /* Since cx231xx_pre_card_setup() requires a proper dev->model, diff --git a/drivers/media/usb/cx231xx/cx231xx-video.c b/drivers/media/usb/cx231xx/cx231xx-video.c index fedf785..c5109ba 100644 --- a/drivers/media/usb/cx231xx/cx231xx-video.c +++ b/drivers/media/usb/cx231xx/cx231xx-video.c @@ -2627,8 +2627,7 @@ int cx231xx_register_analog_devices(struct cx231xx *dev) dev->name, video_device_node_name(dev->vdev)); /* Initialize VBI template */ - memcpy(&cx231xx_vbi_template, &cx231xx_video_template, - sizeof(cx231xx_vbi_template)); + cx231xx_vbi_template = cx231xx_video_template; strcpy(cx231xx_vbi_template.name, "cx231xx-vbi"); /* Allocate and fill vbi video_device struct */