fs/ocfs2/dlm: Use kstrdup
authorJulia Lawall <julia@diku.dk>
Fri, 14 May 2010 19:30:48 +0000 (21:30 +0200)
committerJoel Becker <joel.becker@oracle.com>
Tue, 18 May 2010 19:31:11 +0000 (12:31 -0700)
Use kstrdup when the goal of an allocation is copy a string into the
allocated region.

The semantic patch that makes this change is as follows:
(http://coccinelle.lip6.fr/)

// <smpl>
@@
expression from,to;
expression flag,E1,E2;
statement S;
@@

-  to = kmalloc(strlen(from) + 1,flag);
+  to = kstrdup(from, flag);
   ... when != \(from = E1 \| to = E1 \)
   if (to==NULL || ...) S
   ... when != \(from = E2 \| to = E2 \)
-  strcpy(to, from);
// </smpl>

Signed-off-by: Julia Lawall <julia@diku.dk>
Signed-off-by: Joel Becker <joel.becker@oracle.com>
fs/ocfs2/dlm/dlmdomain.c

index e82c0537eff9274e8e549017a8da8e7b8eafcc60..6b5a492e1749f8063097a1ebef4e3ef9ad53fdb5 100644 (file)
@@ -1523,7 +1523,7 @@ static struct dlm_ctxt *dlm_alloc_ctxt(const char *domain,
                goto leave;
        }
 
-       dlm->name = kmalloc(strlen(domain) + 1, GFP_KERNEL);
+       dlm->name = kstrdup(domain, GFP_KERNEL);
        if (dlm->name == NULL) {
                mlog_errno(-ENOMEM);
                kfree(dlm);
@@ -1557,7 +1557,6 @@ static struct dlm_ctxt *dlm_alloc_ctxt(const char *domain,
        for (i = 0; i < DLM_HASH_BUCKETS; i++)
                INIT_HLIST_HEAD(dlm_master_hash(dlm, i));
 
-       strcpy(dlm->name, domain);
        dlm->key = key;
        dlm->node_num = o2nm_this_node();