diff --git a/xorriso/drive_mgt.c b/xorriso/drive_mgt.c index 49b43b20..5f2468a2 100644 --- a/xorriso/drive_mgt.c +++ b/xorriso/drive_mgt.c @@ -1417,11 +1417,11 @@ int Xorriso_toc(struct XorrisO *xorriso, int flag) Xorriso_msgs_submit(xorriso, 0, xorriso->info_text, 0, "WARNING", 0); } - if (disc!=NULL) - isoburn_toc_disc_free(disc); Xorriso_process_msg_queues(xorriso,0); ret= 1; ex:; + if (disc!=NULL) + isoburn_toc_disc_free(disc); return(ret); } diff --git a/xorriso/emulators.c b/xorriso/emulators.c index 6267f003..cbc9915a 100644 --- a/xorriso/emulators.c +++ b/xorriso/emulators.c @@ -1038,6 +1038,7 @@ ex:; Xorriso_read_lines(xorriso, fp, &linecount, &argc, &argv, 2); if(fp != NULL && fp != stdin) fclose(fp); + Sfile_destroy_argv(&argc, &argv, 0); if(ret<=0) return(ret); return(!was_failure); diff --git a/xorriso/opts_i_o.c b/xorriso/opts_i_o.c index 1d043ca9..a9e14f30 100644 --- a/xorriso/opts_i_o.c +++ b/xorriso/opts_i_o.c @@ -1472,6 +1472,7 @@ ex:; Text_shellsafe(adr, xorriso->info_text, 1); strcat(xorriso->info_text, "\n"); Xorriso_info(xorriso,0); + Sfile_destroy_argv(&argc, &argv, 0); return(ret); } @@ -1735,6 +1736,7 @@ ex:; sprintf(xorriso->info_text, "Command file end: "); Text_shellsafe(adr, xorriso->info_text, 1); Xorriso_msgs_submit(xorriso, 0, xorriso->info_text, 0, "DEBUG", 0); + Sfile_destroy_argv(&linec, &linev, 0); if(ret!=1) return(ret); return(!was_failure);