diff options
Diffstat (limited to 'fs/isofs/rock.c')
| -rw-r--r-- | fs/isofs/rock.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/fs/isofs/rock.c b/fs/isofs/rock.c index bb63254ed848..735d7522a3a9 100644 --- a/fs/isofs/rock.c +++ b/fs/isofs/rock.c | |||
| @@ -362,6 +362,9 @@ repeat: | |||
| 362 | rs.cont_size = isonum_733(rr->u.CE.size); | 362 | rs.cont_size = isonum_733(rr->u.CE.size); |
| 363 | break; | 363 | break; |
| 364 | case SIG('E', 'R'): | 364 | case SIG('E', 'R'): |
| 365 | /* Invalid length of ER tag id? */ | ||
| 366 | if (rr->u.ER.len_id + offsetof(struct rock_ridge, u.ER.data) > rr->len) | ||
| 367 | goto out; | ||
| 365 | ISOFS_SB(inode->i_sb)->s_rock = 1; | 368 | ISOFS_SB(inode->i_sb)->s_rock = 1; |
| 366 | printk(KERN_DEBUG "ISO 9660 Extensions: "); | 369 | printk(KERN_DEBUG "ISO 9660 Extensions: "); |
| 367 | { | 370 | { |
