Bug fix: SIGSEGV by uninitialized local variable with -check_media patch_lba0="on". Regression by version 1.0.6
This commit is contained in:
parent
bce5a0251c
commit
56ecab0f85
@ -2425,7 +2425,7 @@ int Xorriso_update_iso_lba0(struct XorrisO *xorriso, int iso_lba, int isosize,
|
||||
int ret, full_size, i;
|
||||
char *headpt;
|
||||
struct burn_drive_info *dinfo;
|
||||
struct burn_drive *drive;
|
||||
struct burn_drive *drive = NULL;
|
||||
off_t seek_ret, to_write;
|
||||
int tag_type;
|
||||
uint32_t pos, range_start, range_size, next_tag;
|
||||
@ -2455,6 +2455,7 @@ int Xorriso_update_iso_lba0(struct XorrisO *xorriso, int iso_lba, int isosize,
|
||||
|
||||
if(!(flag & 2)) {
|
||||
/* head_buffer was not filled yet. Read it from output media. */
|
||||
if(drive != NULL)
|
||||
if(burn_drive_get_drive_role(drive) == 5) /* write-only */
|
||||
return(2);
|
||||
if(job != NULL && job->data_to_fd >= 0) {
|
||||
@ -2484,15 +2485,17 @@ int Xorriso_update_iso_lba0(struct XorrisO *xorriso, int iso_lba, int isosize,
|
||||
Xorriso_msgs_submit(xorriso, 0, xorriso->info_text, errno, "FAILURE",0);
|
||||
return(0);
|
||||
}
|
||||
ret= isoburn_read_iso_head(drive, 0, &isosize, head_buffer, 1 << 13);
|
||||
ret= isoburn_read_iso_head(NULL, 0, &isosize, head_buffer, 1 << 13);
|
||||
if(ret<=0) {
|
||||
Xorriso_process_msg_queues(xorriso,0);
|
||||
sprintf(xorriso->info_text,
|
||||
"Alleged session start does not like ISO 9660.");
|
||||
"Alleged session start does not look like ISO 9660.");
|
||||
Xorriso_msgs_submit(xorriso, 0, xorriso->info_text, errno, "FAILURE",0);
|
||||
return(0);
|
||||
}
|
||||
} else {
|
||||
ret= 0;
|
||||
if(drive != 0)
|
||||
ret= isoburn_read_iso_head(drive, iso_lba, &isosize, head_buffer, 2);
|
||||
if(ret<=0) {
|
||||
Xorriso_process_msg_queues(xorriso,0);
|
||||
|
@ -1 +1 @@
|
||||
#define Xorriso_timestamP "2012.07.25.181415"
|
||||
#define Xorriso_timestamP "2012.07.25.182507"
|
||||
|
Loading…
Reference in New Issue
Block a user