libafscp: Use strdup, rather than rolling our own
authorSimon Wilkinson <sxw@your-file-system.com>
Fri, 30 Mar 2012 18:18:47 +0000 (19:18 +0100)
committerDerrick Brashear <shadow@dementix.org>
Sat, 7 Apr 2012 12:07:36 +0000 (05:07 -0700)
   A = malloc(strlen(B)+ 1);
   memset(A, 0, strlen(B) + 1);
   strlcpy(A, B, strlen(B) + 1);
can be more simply written as
   A = strdup(B);

Doing so also avoids a warning from clang that strlcpy isn't checking
for A overflowing.

Change-Id: I0e21f86eda7bdc0ce869e651c5ceb23d7494e1e2
Reviewed-on: http://gerrit.openafs.org/7077
Reviewed-by: Derrick Brashear <shadow@dementix.org>
Tested-by: Derrick Brashear <shadow@dementix.org>

src/libafscp/afscp_server.c

index 92d29b0..abb82e8 100644 (file)
@@ -122,9 +122,7 @@ afscp_CellByName(const char *cellname, const char *realmname)
     memset(thecell, 0, sizeof(struct afscp_cell));
     strlcpy(thecell->name, cellname, sizeof(thecell->name));
     if (realmname != NULL) {
-       thecell->realm = malloc(strlen(realmname) + 1);
-       memset(thecell->realm, 0, strlen(realmname) + 1);
-       strlcpy(thecell->realm, realmname, strlen(realmname) + 1);
+       thecell->realm = strdup(realmname);
     } else {
        thecell->realm = NULL;
     }