@ -352,7 +352,7 @@ get_contents(fsdata *mydata, dir_entry *dentptr, __u8 *buffer,
newclust = get_fatent ( mydata , endclust ) ;
if ( ( newclust - 1 ) ! = endclust )
goto getit ;
if ( newclust < = 0x0001 | | newclust > = 0xfff0 ) {
if ( CHECK_CLUST ( newclust , mydata - > fatsize ) ) {
FAT_DPRINT ( " curclust: 0x%x \n " , newclust ) ;
FAT_DPRINT ( " Invalid FAT entry \n " ) ;
return gotsize ;
@ -387,7 +387,7 @@ getit:
filesize - = actsize ;
buffer + = actsize ;
curclust = get_fatent ( mydata , endclust ) ;
if ( curclust < = 0x0001 | | curclust > = 0xfff0 ) {
if ( CHECK_CLUST ( curclust , mydata - > fatsize ) ) {
FAT_DPRINT ( " curclust: 0x%x \n " , curclust ) ;
FAT_ERROR ( " Invalid FAT entry \n " ) ;
return gotsize ;
@ -459,7 +459,7 @@ get_vfatname(fsdata *mydata, int curclust, __u8 *cluster,
slotptr - - ;
curclust = get_fatent ( mydata , curclust ) ;
if ( curclust < = 0x0001 | | curclust > = 0xfff0 ) {
if ( CHECK_CLUST ( curclust , mydata - > fatsize ) ) {
FAT_DPRINT ( " curclust: 0x%x \n " , curclust ) ;
FAT_ERROR ( " Invalid FAT entry \n " ) ;
return - 1 ;
@ -652,7 +652,7 @@ static dir_entry *get_dentfromdir (fsdata * mydata, int startsect,
return retdent ;
}
curclust = get_fatent ( mydata , curclust ) ;
if ( curclust < = 0x0001 | | curclust > = 0xfff0 ) {
if ( CHECK_CLUST ( curclust , mydata - > fatsize ) ) {
FAT_DPRINT ( " curclust: 0x%x \n " , curclust ) ;
FAT_ERROR ( " Invalid FAT entry \n " ) ;
return NULL ;