diff options
author | Thierry Vignaud <tv@mageia.org> | 2012-03-15 06:03:35 +0000 |
---|---|---|
committer | Thierry Vignaud <tv@mageia.org> | 2012-03-15 06:03:35 +0000 |
commit | 3d036195cb13904565201415fc0d6e5239f69e92 (patch) | |
tree | 0fdfbb510520f3fca071b9be8d445493bb97aedf /perl-install/c | |
parent | d62bf8ef6f321539964818946ff4611e552d7ce1 (diff) | |
download | drakx-backup-do-not-use-3d036195cb13904565201415fc0d6e5239f69e92.tar drakx-backup-do-not-use-3d036195cb13904565201415fc0d6e5239f69e92.tar.gz drakx-backup-do-not-use-3d036195cb13904565201415fc0d6e5239f69e92.tar.bz2 drakx-backup-do-not-use-3d036195cb13904565201415fc0d6e5239f69e92.tar.xz drakx-backup-do-not-use-3d036195cb13904565201415fc0d6e5239f69e92.zip |
(get_iso_volume_ids) disk install: handle bogus ISOs when looking for install image (mga#4919)
Diffstat (limited to 'perl-install/c')
-rwxr-xr-x | perl-install/c/stuff.xs.pl | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/perl-install/c/stuff.xs.pl b/perl-install/c/stuff.xs.pl index 9316db519..d36001baf 100755 --- a/perl-install/c/stuff.xs.pl +++ b/perl-install/c/stuff.xs.pl @@ -549,8 +549,10 @@ get_iso_volume_ids(int fd) lseek(fd, 16 * ISOFS_BLOCK_SIZE, SEEK_SET); if (read(fd, &voldesc, sizeof(struct iso_primary_descriptor)) == sizeof(struct iso_primary_descriptor)) { if (voldesc.type[0] == ISO_VD_PRIMARY && !strncmp(voldesc.id, ISO_STANDARD_ID, sizeof(voldesc.id))) { - XPUSHs(sv_2mortal(newSVpv(voldesc.volume_id, length_of_space_padded(voldesc.volume_id, sizeof(voldesc.volume_id))))); - XPUSHs(sv_2mortal(newSVpv(voldesc.application_id, length_of_space_padded(voldesc.application_id, sizeof(voldesc.application_id))))); + size_t vol_id_len = length_of_space_padded(voldesc.volume_id, sizeof(voldesc.volume_id)); + size_t app_id_len = length_of_space_padded(voldesc.application_id, sizeof(voldesc.application_id)); + XPUSHs(vol_id_len != -1 ? sv_2mortal(newSVpv(voldesc.volume_id, vol_id_len)) : newSVpvs("")); + XPUSHs(app_id_len != -1 ? sv_2mortal(newSVpv(voldesc.application_id, app_id_len)) : newSVpvs("")); } } |