MCPcopy Create free account
hub / github.com/cgsecurity/testdisk / data_check

Function data_check

src/fidentify.c:192–213  ·  view source on GitHub ↗

@ @ requires \valid(file_recovery); @ requires valid_file_recovery(file_recovery); @ requires \valid_function(file_recovery->data_check); @ requires 0 < blocksize <= READ_SIZE; @ requires READ_SIZE % blocksize == 0; @ requires \separated(file_recovery, &errno); @ ensures valid_file_recovery(file_recovery); @*/

Source from the content-addressed store, hash-verified

190 @ ensures valid_file_recovery(file_recovery);
191 @*/
192static data_check_t data_check(file_recovery_t *file_recovery, const unsigned int blocksize)
193{
194 char *buffer_start;
195 const unsigned int buffer_size=blocksize + READ_SIZE;
196 data_check_t res;
197 if( file_recovery->calculated_file_size >= PHOTOREC_MAX_FILE_SIZE )
198 {
199 /*@ assert valid_file_recovery(file_recovery); */
200 return DC_STOP;
201 }
202 if(my_fseek(file_recovery->handle, 0, SEEK_SET) < 0)
203 {
204 /*@ assert valid_file_recovery(file_recovery); */
205 return DC_STOP;
206 }
207 buffer_start=(char *)MALLOC(buffer_size);
208 res=data_check_aux(file_recovery, blocksize, buffer_start);
209 /*@ assert valid_file_recovery(file_recovery); */
210 free(buffer_start);
211 /*@ assert valid_file_recovery(file_recovery); */
212 return res;
213}
214
215/*@
216 @ requires valid_read_string(filename);

Callers 1

fidentify.cFile · 0.85

Calls 3

my_fseekFunction · 0.85
MALLOCFunction · 0.85
data_check_auxFunction · 0.85

Tested by

no test coverage detected