[PATCH] isofs bug fix

From: William K. Josephson (wkj@eecs.harvard.edu)
Date: Sun Oct 08 2000 - 01:44:26 EST


While writing some user-space code recently, I ran across two bugs
in the Rock Ridge support code. First, a bogus return value and
second links on the cd of the form foo->/bar are returned
as foo->//bar. This should fix it.

 -WJ

BTW, I don't read frequently so reply personally.

--- linux/fs/isofs/rock.c Tue Jan 4 13:12:23 2000
+++ fixed/fs/isofs/rock.c Sun Oct 8 02:36:30 2000
@@ -213,7 +213,7 @@
         printk("RR: RE (%x)\n", inode->i_ino);
 #endif
         if (buffer) kfree(buffer);
- return -1;
+ return 0;
       default:
         break;
       }
@@ -479,21 +479,11 @@
          oldslp = slp;
          slp = (struct SL_component *) (((char *) slp) + slp->len + 2);
 
- if(slen < 2) {
- /*
- * If there is another SL record, and this component record
- * isn't continued, then add a slash.
- */
- if( ((rr->u.SL.flags & 1) != 0)
- && ((oldslp->flags & 1) == 0) ) strcat(rpnt,"/");
- break;
- }
+ if(rootflag==0 && (rr->u.SL.flags&1)!=0 && (oldslp->flags&1)==0)
+ strcat(rpnt, "/");
 
- /*
- * If this component record isn't continued, then append a '/'.
- */
- if( (!rootflag)
- && ((oldslp->flags & 1) == 0) ) strcat(rpnt,"/");
+ if(slen < 2)
+ break;
 
        };
        break;
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Sun Oct 15 2000 - 21:00:10 EST