Bug fix: xorriso -update_r could lead to SIGSEGV if applied to a data file

master
Thomas Schmitt 13 years ago
parent 4374d984d1
commit f4507fca34
  1. 2
      xorriso/xorriso_timestamp.h
  2. 7
      xorriso/xorrisoburn.c

@ -1 +1 @@
#define Xorriso_timestamP "2010.02.18.125019"
#define Xorriso_timestamP "2010.02.19.172125"

@ -8176,15 +8176,18 @@ int Xorriso_findi(struct XorrisO *xorriso, struct FindjoB *job,
if(job->prune)
no_dive= 1;
if(ret>0) {
iso_node_ref(iso_node); /* protect from real disposal */
ret= Xorriso_findi_action(xorriso, job,
(IsoDirIter *) boss_iter, boss_mem,
path, dir_path, (IsoNode *) dir_node, depth,
path, dir_path, iso_node, depth,
flag&(1|2));
deleted= (iso_node_get_parent(iso_node) == NULL); /* still in tree ? */
iso_node_unref(iso_node); /* eventually do real disposal */
if(ret<=0)
goto ex;
if(xorriso->request_to_abort)
{ret= 0; goto ex;}
if(ret==2) {
if(ret==2 || deleted) {
/* re-determine dir_node in case it has a new persona */
ret= Xorriso_node_from_path(xorriso, volume, path, &iso_node, 1);
if(ret==0) {

Loading…
Cancel
Save