| ... | ... |
@@ -314,7 +314,7 @@ static int cab_chkname( |
| 314 | 314 |
sys->message(NULL, "cab_chkname: File name contains disallowed characters"); |
| 315 | 315 |
return 1; |
| 316 | 316 |
} |
| 317 |
- else if (san && !isalnum(name[i])) |
|
| 317 |
+ else if (san && ((name[i] < -1 || name[i] > 255) || !isalnum((unsigned char*)name[i]))) |
|
| 318 | 318 |
{
|
| 319 | 319 |
name[i] = '*'; |
| 320 | 320 |
} |