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);