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

Function OLE_parse_filetime_entry

src/file_doc.c:1146–1161  ·  view source on GitHub ↗

@ @ requires 8 <= size <= 1024*1024; @ requires offset <= size; @ requires \valid_read(buffer+ (0 .. size-1)); @ requires \initialized(buffer+ (0 .. size-1)); @ requires \valid(file_time); @ assigns *file_time; @*/

Source from the content-addressed store, hash-verified

1144 @ assigns *file_time;
1145 @*/
1146static void OLE_parse_filetime_entry(const char *buffer, const unsigned int size, const unsigned int offset, time_t *file_time)
1147{
1148 uint64_t tmp;
1149 if(offset + 12 > size)
1150 {
1151 return ;
1152 }
1153 /*@ assert offset + 12 <= size; */
1154 tmp=get64u(buffer, offset + 4);
1155 tmp/=10000000;
1156 if(tmp > (uint64_t)134774 * 24 * 3600)
1157 {
1158 tmp -= (uint64_t)134774 * 24 * 3600;
1159 *file_time=tmp;
1160 }
1161}
1162
1163/*@
1164 @ requires 8 <= size <= 1024*1024;

Callers 1

Calls 1

get64uFunction · 0.85

Tested by

no test coverage detected