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
3e6e961b90
commit
c8f6f57c96
@ -2425,7 +2425,7 @@ int Xorriso_update_iso_lba0(struct XorrisO *xorriso, int iso_lba, int isosize,
|
|||||||
int ret, full_size, i;
|
int ret, full_size, i;
|
||||||
char *headpt;
|
char *headpt;
|
||||||
struct burn_drive_info *dinfo;
|
struct burn_drive_info *dinfo;
|
||||||
struct burn_drive *drive;
|
struct burn_drive *drive = NULL;
|
||||||
off_t seek_ret, to_write;
|
off_t seek_ret, to_write;
|
||||||
int tag_type;
|
int tag_type;
|
||||||
uint32_t pos, range_start, range_size, next_tag;
|
uint32_t pos, range_start, range_size, next_tag;
|
||||||
@ -2455,8 +2455,9 @@ int Xorriso_update_iso_lba0(struct XorrisO *xorriso, int iso_lba, int isosize,
|
|||||||
|
|
||||||
if(!(flag & 2)) {
|
if(!(flag & 2)) {
|
||||||
/* head_buffer was not filled yet. Read it from output media. */
|
/* head_buffer was not filled yet. Read it from output media. */
|
||||||
if(burn_drive_get_drive_role(drive) == 5) /* write-only */
|
if(drive != NULL)
|
||||||
return(2);
|
if(burn_drive_get_drive_role(drive) == 5) /* write-only */
|
||||||
|
return(2);
|
||||||
if(job != NULL && job->data_to_fd >= 0) {
|
if(job != NULL && job->data_to_fd >= 0) {
|
||||||
if((flag & 8) && job->sector_map != NULL) {
|
if((flag & 8) && job->sector_map != NULL) {
|
||||||
ret= Sectorbitmap_bytes_are_set(job->sector_map,
|
ret= Sectorbitmap_bytes_are_set(job->sector_map,
|
||||||
@ -2484,16 +2485,18 @@ int Xorriso_update_iso_lba0(struct XorrisO *xorriso, int iso_lba, int isosize,
|
|||||||
Xorriso_msgs_submit(xorriso, 0, xorriso->info_text, errno, "FAILURE",0);
|
Xorriso_msgs_submit(xorriso, 0, xorriso->info_text, errno, "FAILURE",0);
|
||||||
return(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) {
|
if(ret<=0) {
|
||||||
Xorriso_process_msg_queues(xorriso,0);
|
Xorriso_process_msg_queues(xorriso,0);
|
||||||
sprintf(xorriso->info_text,
|
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);
|
Xorriso_msgs_submit(xorriso, 0, xorriso->info_text, errno, "FAILURE",0);
|
||||||
return(0);
|
return(0);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
ret= isoburn_read_iso_head(drive, iso_lba, &isosize, head_buffer, 2);
|
ret= 0;
|
||||||
|
if(drive != 0)
|
||||||
|
ret= isoburn_read_iso_head(drive, iso_lba, &isosize, head_buffer, 2);
|
||||||
if(ret<=0) {
|
if(ret<=0) {
|
||||||
Xorriso_process_msg_queues(xorriso,0);
|
Xorriso_process_msg_queues(xorriso,0);
|
||||||
sprintf(xorriso->info_text,
|
sprintf(xorriso->info_text,
|
||||||
|
@ -1 +1 @@
|
|||||||
#define Xorriso_timestamP "2012.07.25.181415"
|
#define Xorriso_timestamP "2012.07.25.182507"
|
||||||
|
Loading…
Reference in New Issue
Block a user