diff options
Diffstat (limited to 'libparted/arch/linux.c')
-rw-r--r-- | libparted/arch/linux.c | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/libparted/arch/linux.c b/libparted/arch/linux.c index 7e86b51..4c778ea 100644 --- a/libparted/arch/linux.c +++ b/libparted/arch/linux.c @@ -2582,9 +2582,12 @@ _blkpg_add_partition (PedDisk* disk, const PedPartition *part) linux_part.length = part->geom.length * disk->dev->sector_size; } linux_part.pno = part->num; - strncpy (linux_part.devname, dev_name, BLKPG_DEVNAMELTH); - if (vol_name) - strncpy (linux_part.volname, vol_name, BLKPG_VOLNAMELTH); + strncpy (linux_part.devname, dev_name, BLKPG_DEVNAMELTH-1); + linux_part.devname[BLKPG_DEVNAMELTH-1] = '\0'; + if (vol_name) { + strncpy (linux_part.volname, vol_name, BLKPG_VOLNAMELTH-1); + linux_part.volname[BLKPG_VOLNAMELTH-1] = '\0'; + } free (dev_name); @@ -2640,7 +2643,8 @@ static int _blkpg_resize_partition (PedDisk* disk, const PedPartition *part) else linux_part.length = part->geom.length * disk->dev->sector_size; linux_part.pno = part->num; - strncpy (linux_part.devname, dev_name, BLKPG_DEVNAMELTH); + strncpy (linux_part.devname, dev_name, BLKPG_DEVNAMELTH-1); + linux_part.devname[BLKPG_DEVNAMELTH-1] = '\0'; free (dev_name); |