]> arthur.barton.de Git - netatalk.git/commitdiff
Fix memory leak introduce in 18918d1
authorFrank Lahm <franklahm@googlemail.com>
Wed, 7 Nov 2012 11:59:55 +0000 (12:59 +0100)
committerFrank Lahm <franklahm@googlemail.com>
Wed, 7 Nov 2012 11:59:55 +0000 (12:59 +0100)
NEWS
libatalk/util/netatalk_conf.c

diff --git a/NEWS b/NEWS
index e1a68c436a8e96af037e30cb88ba0b0020e10d9e..8e192ea05c119849fddc068e5ee5d3cedfaa110c 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -6,6 +6,7 @@ Changes in 3.0.2
 * FIX: "path" parameter value may contain symlink.
 * FIX: "basedir regex" was never able to treat symlink.
        If /home -> /usr/home, set "basedir regex = /usr/home".
+* FIX: Memory leak
 
 Changes in 3.0.1
 ================
index dee04aa791cd0a84abfb2beabeec15010676305a..fd7ebfd124777e99af77c2748f4f59ca7814e319 100644 (file)
@@ -564,7 +564,7 @@ static struct vol *creatvol(AFPObj *obj,
     struct vol  *volume = NULL;
     size_t      current_pathlen, another_pathlen;
     int         i, suffixlen, vlen, tmpvlen, u8mvlen, macvlen;
-    char        *tmpname;
+    char        tmpname[AFPVOL_U8MNAMELEN+1];
     char        path[MAXPATHLEN + 1];
     ucs2_t      u8mtmpname[(AFPVOL_U8MNAMELEN+1)*2], mactmpname[(AFPVOL_MACNAMELEN+1)*2];
     char        suffix[6]; /* max is #FFFF */
@@ -670,7 +670,7 @@ static struct vol *creatvol(AFPObj *obj,
     EC_NULL( volume->v_maccodepage = strdup(obj->options.maccodepage) );
 
     vlen = strlen(name);
-    tmpname = strdup(name);
+    strlcpy(tmpname, name, sizeof(tmpname));
     for(i = 0; i < vlen; i++)
         if(tmpname[i] == '/') tmpname[i] = ':';