Hi,

Patch attached.

regards,
guillem
Index: autopartkit.c
===================================================================
RCS file: /cvs/debian-boot/debian-installer/tools/autopartkit/autopartkit.c,v
retrieving revision 1.27
diff -u -r1.27 autopartkit.c
--- autopartkit.c       16 Dec 2002 09:11:41 -0000      1.27
+++ autopartkit.c       19 Dec 2002 18:55:32 -0000
@@ -768,11 +768,10 @@
     subdev  = minor(statbuf.st_rdev) / maxparts;
     partnum = minor(statbuf.st_rdev) % maxparts;
 
-    retval = malloc(strlen(partpath) + 1); /* I hope this is long enough */
     if (0 == partnum)
-      sprintf(retval, devpath, 'a' + subdev);
+      asprintf(&retval, devpath, 'a' + subdev);
     else
-      sprintf(retval, partpath, 'a' + subdev, partnum);
+      asprintf(&retval, partpath, 'a' + subdev, partnum);
 
     return retval;
 }
@@ -789,10 +788,7 @@
     char *retval;
     char *tmp;
 
-    /* devlen + numbers + null termination */
-    retval = malloc(strlen(dev->path) + 3);
-
-    sprintf(retval,"%s%d",dev->path, freepart->num);
+    asprintf(&retval, "%s%d", dev->path, freepart->num);
     /* Replace 'disc' with 'part'.  Sucks. */
     if ((tmp = strstr(retval, "disc")))
     {
@@ -900,10 +896,7 @@
        fprintf(fstab, "%s\t%s\t%s\tdefaults\t\t0\t%d\n", 
                devpath, mountmap[i].mountpoint->mountpoint,
                mountmap[i].mountpoint->fstype, fsckpass);
-       tmpmnt = malloc(/* /target */ 7 + 
-                       strlen(mountmap[i].mountpoint->mountpoint) + 1 
-                       /* terminating null */);
-       sprintf(tmpmnt, "/target%s",mountmap[i].mountpoint->mountpoint);
+       asprintf(&tmpmnt, "/target%s", mountmap[i].mountpoint->mountpoint);
        mkdir(tmpmnt, 0755);
        mount(mountmap[i].devpath, tmpmnt, mountmap[i].mountpoint->fstype,
              MS_MGC_VAL, NULL);

Reply via email to