@@ -643,8 +643,10 @@ static file_node_t* ipf_read_data_node(pf_context_t* pf, uint64_t offset) {
643
643
if (PF_FAILURE (status )) {
644
644
free (file_data_node );
645
645
pf -> last_error = status ;
646
- if (status == PF_STATUS_MAC_MISMATCH )
646
+ if (status == PF_STATUS_MAC_MISMATCH ) {
647
647
pf -> file_status = PF_STATUS_CORRUPTED ;
648
+ pf -> last_error = PF_STATUS_CORRUPTED ;
649
+ }
648
650
return NULL ;
649
651
}
650
652
@@ -706,8 +708,10 @@ static file_node_t* ipf_read_mht_node(pf_context_t* pf, uint64_t logical_mht_nod
706
708
if (PF_FAILURE (status )) {
707
709
free (file_mht_node );
708
710
pf -> last_error = status ;
709
- if (status == PF_STATUS_MAC_MISMATCH )
711
+ if (status == PF_STATUS_MAC_MISMATCH ) {
710
712
pf -> file_status = PF_STATUS_CORRUPTED ;
713
+ pf -> last_error = PF_STATUS_CORRUPTED ;
714
+ }
711
715
return NULL ;
712
716
}
713
717
@@ -791,9 +795,11 @@ static bool ipf_init_existing_file(pf_context_t* pf, const char* path) {
791
795
if (PF_FAILURE (status )) {
792
796
pf -> last_error = status ;
793
797
DEBUG_PF ("failed to decrypt metadata: %d" , status );
794
- if (status == PF_STATUS_MAC_MISMATCH )
798
+ if (status == PF_STATUS_MAC_MISMATCH ) {
795
799
// MAC could also mismatch if wrong key was provided but we err on side of safety ...
796
800
pf -> file_status = PF_STATUS_CORRUPTED ;
801
+ pf -> last_error = PF_STATUS_CORRUPTED ;
802
+ }
797
803
return false;
798
804
}
799
805
@@ -821,8 +827,10 @@ static bool ipf_init_existing_file(pf_context_t* pf, const char* path) {
821
827
& pf -> metadata_decrypted .root_mht_node_mac );
822
828
if (PF_FAILURE (status )) {
823
829
pf -> last_error = status ;
824
- if (status == PF_STATUS_MAC_MISMATCH )
830
+ if (status == PF_STATUS_MAC_MISMATCH ) {
825
831
pf -> file_status = PF_STATUS_CORRUPTED ;
832
+ pf -> last_error = PF_STATUS_CORRUPTED ;
833
+ }
826
834
return false;
827
835
}
828
836
}
0 commit comments