2002-05-20 Yoshinori K. Okuji <okuji@enbug.org>

* lib/device.c (read_device_map): Show an error message and exit
	abnormally, if MAP[DRIVE] has already been filled.
	* util/grub-install.in: If there is any dulicated entry, print
	an error message and exit abnormally.
This commit is contained in:
okuji 2002-05-20 11:48:03 +00:00
parent 2364cf3673
commit 58703b663c
3 changed files with 22 additions and 0 deletions

View file

@ -1,3 +1,10 @@
2002-05-20 Yoshinori K. Okuji <okuji@enbug.org>
* lib/device.c (read_device_map): Show an error message and exit
abnormally, if MAP[DRIVE] has already been filled.
* util/grub-install.in: If there is any dulicated entry, print
an error message and exit abnormally.
2002-05-20 Yoshinori K. Okuji <okuji@enbug.org> 2002-05-20 Yoshinori K. Okuji <okuji@enbug.org>
* lib/device.c: Don't include linux/hdreg.h, linux/major.h, * lib/device.c: Don't include linux/hdreg.h, linux/major.h,

View file

@ -455,6 +455,13 @@ read_device_map (FILE *fp, char **map, const char *map_file)
eptr++; eptr++;
*eptr = 0; *eptr = 0;
/* Multiple entries for a given drive is not allowed. */
if (map[drive])
{
show_error (line_number, "Duplicated entry found");
return 0;
}
map[drive] = strdup (ptr); map[drive] = strdup (ptr);
assert (map[drive]); assert (map[drive]);
} }

View file

@ -323,6 +323,14 @@ EOF
rm -f $log_file rm -f $log_file
fi fi
# Make sure that there is no duplicated entry.
tmp=`sed -n '/^([fh]d[0-9]*)/s/\(^(.*)\).*/\1/p' $device_map \
| sort | uniq -d | sed -n 1p`
if test -n "$tmp"; then
echo "The drive $tmp is defined multiple times in the device map $device_map" 1>&2
exit 1
fi
# Check for INSTALL_DEVICE. # Check for INSTALL_DEVICE.
case "$install_device" in case "$install_device" in
/dev/*) /dev/*)