summaryrefslogtreecommitdiffstats
path: root/src/file_mdb.c
diff options
context:
space:
mode:
authorChristophe Grenier <[email protected]>2021-07-02 13:46:26 +0200
committerChristophe Grenier <[email protected]>2021-07-02 13:46:26 +0200
commit481f4af06cdb7a49bb16d8a539398d814df811b1 (patch)
treed1a25c5345e07b717f8d45f02e4b3168ec70cfb0 /src/file_mdb.c
parent4ce08fd85efd1aebfb4c342cec2683ad928b788f (diff)
src/file_mdb.c: improve Frama-C annotations
Diffstat (limited to 'src/file_mdb.c')
-rw-r--r--src/file_mdb.c22
1 files changed, 6 insertions, 16 deletions
diff --git a/src/file_mdb.c b/src/file_mdb.c
index 602e3c4f..e43e2cee 100644
--- a/src/file_mdb.c
+++ b/src/file_mdb.c
@@ -31,9 +31,9 @@
#include "types.h"
#include "filegen.h"
-/*@ requires \valid(file_stat); */
+/*@ requires valid_register_header_check(file_stat); */
static void register_header_check_mdb(file_stat_t *file_stat);
-/*@ requires \valid(file_stat); */
+/*@ requires valid_register_header_check(file_stat); */
static void register_header_check_accdb(file_stat_t *file_stat);
const file_hint_t file_hint_mdb= {
@@ -55,15 +55,10 @@ const file_hint_t file_hint_accdb= {
};
/*@
- @ requires buffer_size > 0;
- @ requires \valid_read(buffer+(0..buffer_size-1));
- @ requires valid_file_recovery(file_recovery);
- @ requires \valid(file_recovery_new);
- @ requires file_recovery_new->blocksize > 0;
@ requires separation: \separated(&file_hint_accdb, buffer+(..), file_recovery, file_recovery_new);
+ @ requires valid_header_check_param(buffer, buffer_size, safe_header_only, file_recovery, file_recovery_new);
+ @ ensures valid_header_check_result(\result, file_recovery_new);
@ assigns *file_recovery_new;
- @ ensures \result == 0 || \result == 1;
- @ ensures \result!=0 ==> valid_file_recovery(file_recovery_new);
@*/
static int header_check_accdb(const unsigned char *buffer, const unsigned int buffer_size, const unsigned int safe_header_only, const file_recovery_t *file_recovery, file_recovery_t *file_recovery_new)
{
@@ -73,15 +68,10 @@ static int header_check_accdb(const unsigned char *buffer, const unsigned int bu
}
/*@
- @ requires buffer_size > 0;
- @ requires \valid_read(buffer+(0..buffer_size-1));
- @ requires valid_file_recovery(file_recovery);
- @ requires \valid(file_recovery_new);
- @ requires file_recovery_new->blocksize > 0;
@ requires separation: \separated(&file_hint_accdb, buffer+(..), file_recovery, file_recovery_new);
+ @ requires valid_header_check_param(buffer, buffer_size, safe_header_only, file_recovery, file_recovery_new);
+ @ ensures valid_header_check_result(\result, file_recovery_new);
@ assigns *file_recovery_new;
- @ ensures \result == 0 || \result == 1;
- @ ensures \result!=0 ==> valid_file_recovery(file_recovery_new);
@*/
static int header_check_mdb(const unsigned char *buffer, const unsigned int buffer_size, const unsigned int safe_header_only, const file_recovery_t *file_recovery, file_recovery_t *file_recovery_new)
{