| Summary: | Options for isofs does not recognized after \'iocharset\' | ||
|---|---|---|---|
| Product: | Sisyphus | Reporter: | Vitaly A. Ostanin <vyt> |
| Component: | kernel24-up | Assignee: | Peter 'Nidd' Novodvorsky <nidd> |
| Status: | CLOSED FIXED | QA Contact: | |
| Severity: | minor | ||
| Priority: | P4 | ||
| Version: | unstable | ||
| Hardware: | all | ||
| OS: | Linux | ||
|
Description
Vitaly A. Ostanin
2002-01-23 16:17:49 MSK
Will be fixed in 2.4.18-alt2, here is the patch (replace with it linux-2.4.6-iso9660opt.patch
---
--- inode.c.orig Thu Mar 7 18:41:45 2002
+++ inode.c Thu Mar 7 19:35:03 2002
@@ -295,6 +295,8 @@
popt->sbsector=-1;
if (!options) return 1;
for (this_char = strtok(options,\",\"); this_char; this_char = strtok(NULL,\",\")) {
+ if (!this_char)
+ return 1;
if (strncmp(this_char,\"norock\",6) == 0) {
popt->rock = \'n\';
continue;
@@ -340,13 +342,13 @@
else if (!strcmp(value,\"acorn\")) popt->map = \'a\';
else return 0;
}
- if (!strcmp(this_char,\"session\") && value) {
+ else if (!strcmp(this_char,\"session\") && value) {
char * vpnt = value;
unsigned int ivalue = simple_strtoul(vpnt, &vpnt, 0);
if(ivalue < 0 || ivalue >99) return 0;
popt->session=ivalue+1;
}
- if (!strcmp(this_char,\"sbsector\") && value) {
+ else if (!strcmp(this_char,\"sbsector\") && value) {
char * vpnt = value;
unsigned int ivalue = simple_strtoul(vpnt, &vpnt, 0);
if(ivalue < 0 || ivalue >660*512) return 0;
@@ -396,7 +398,7 @@
break;
}
}
- else return 1;
+ else continue;
}
return 1;
}
---
Will be fixed in 2.4.18-alt2, here is the patch (replace with it linux-2.4.6-iso9660opt.patch
---
--- inode.c.orig Thu Mar 7 18:41:45 2002
+++ inode.c Thu Mar 7 19:35:03 2002
@@ -295,6 +295,8 @@
popt->sbsector=-1;
if (!options) return 1;
for (this_char = strtok(options,\",\"); this_char; this_char = strtok(NULL,\",\")) {
+ if (!this_char)
+ return 1;
if (strncmp(this_char,\"norock\",6) == 0) {
popt->rock = \'n\';
continue;
@@ -340,13 +342,13 @@
else if (!strcmp(value,\"acorn\")) popt->map = \'a\';
else return 0;
}
- if (!strcmp(this_char,\"session\") && value) {
+ else if (!strcmp(this_char,\"session\") && value) {
char * vpnt = value;
unsigned int ivalue = simple_strtoul(vpnt, &vpnt, 0);
if(ivalue < 0 || ivalue >99) return 0;
popt->session=ivalue+1;
}
- if (!strcmp(this_char,\"sbsector\") && value) {
+ else if (!strcmp(this_char,\"sbsector\") && value) {
char * vpnt = value;
unsigned int ivalue = simple_strtoul(vpnt, &vpnt, 0);
if(ivalue < 0 || ivalue >660*512) return 0;
@@ -396,7 +398,7 @@
break;
}
}
- else return 1;
+ else continue;
}
return 1;
}
---
|