Changeset 3077

Show
Ignore:
Timestamp:
02/19/10 11:19:41 (7 months ago)
Author:
scdbackup
Message:

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

Location:
libisoburn/trunk/xorriso
Files:
2 modified

Legend:

Unmodified
Added
Removed
  • libisoburn/trunk/xorriso/xorriso_timestamp.h

    r3076 r3077  
    1 #define Xorriso_timestamP "2010.02.18.125019" 
     1#define Xorriso_timestamP "2010.02.19.172125" 
  • libisoburn/trunk/xorriso/xorrisoburn.c

    r3076 r3077  
    81778177     no_dive= 1; 
    81788178   if(ret>0) { 
     8179     iso_node_ref(iso_node); /* protect from real disposal */ 
    81798180     ret= Xorriso_findi_action(xorriso, job, 
    81808181                               (IsoDirIter *) boss_iter, boss_mem, 
    8181                                path, dir_path, (IsoNode *) dir_node, depth, 
     8182                               path, dir_path, iso_node, depth, 
    81828183                               flag&(1|2)); 
     8184     deleted= (iso_node_get_parent(iso_node) == NULL); /* still in tree ? */ 
     8185     iso_node_unref(iso_node); /* eventually do real disposal */ 
    81838186     if(ret<=0) 
    81848187       goto ex; 
    81858188     if(xorriso->request_to_abort) 
    81868189       {ret= 0; goto ex;} 
    8187      if(ret==2) { 
     8190     if(ret==2 || deleted) { 
    81888191       /* re-determine dir_node in case it has a new persona */  
    81898192       ret= Xorriso_node_from_path(xorriso, volume, path, &iso_node, 1);