Fixed obscure sigsegv introduced with 35 or 39 by obeying libburn.h text

This commit is contained in:
Thomas Schmitt 2006-08-27 19:28:37 +00:00
parent dc74390bd5
commit 7d88b30496

View File

@ -38,6 +38,9 @@ See option blank= for an example.
------------------------------------------------------------------------------ ------------------------------------------------------------------------------
About compliance with *strong urge* of API towards burn_drive_scan_and_grab() About compliance with *strong urge* of API towards burn_drive_scan_and_grab()
For a more comprehensive example of the advised way to behave with libburn
see test/burniso.c test/blank.c test/devices.c .
cdrskin was the initiator of the whitelist functionality within libburn. cdrskin was the initiator of the whitelist functionality within libburn.
Now it has problems to obviously comply with the new API best practice Now it has problems to obviously comply with the new API best practice
presciptions literally. Therefore this explanation: presciptions literally. Therefore this explanation:
@ -2079,7 +2082,14 @@ int Cdrskin_reinit_lib_with_adr(struct CdrskiN *skin, int flag)
"cdrskin: FATAL : unable to determine persistent drive address\n"); "cdrskin: FATAL : unable to determine persistent drive address\n");
ret= 0; goto ex; ret= 0; goto ex;
} }
/* >>> A60827: this causes a SIGSEGV when releasing the re-initialized drive
skin->drives[skin->driveno].drive after burn (then as
skin->grabbed_drive, but already being 0xb0 in Cdrskin_grab) )
burn_drive_info_free(skin->drives); burn_drive_info_free(skin->drives);
*/
burn_finish(); burn_finish();
if(!burn_initialize()) { if(!burn_initialize()) {
fflush(stdout); fflush(stdout);