Invariant used only in absence of precondition
ID0000998: **This issue was created automatically from Mantis Issue 998. Further discussion may take place here.** --- | **Id** | **Project** | **Category** | **View** | **Due Date** | **Updated** | | --- | --- | --- | --- | --- | --- | | ID0000998 | Frama-C | Plug-in > Eva | public | 2011-10-23 | 2011-11-02 | | | | | | | | | --- | --- | --- | --- | --- | --- | | **Reporter** | yakobowski | **Assigned To** | yakobowski | **Resolution** | no change required | | **Priority** | normal | **Severity** | minor | **Reproducibility** | always | | **Platform** | - | **OS** | - | **OS Version** | - | | **Product Version** | Frama-C Nitrogen-20111001 | **Target Version** | - | **Fixed in Version** | - | ### Description : In the code below, analyzed using frama-c -val, the access *adr is proven valid only in the absence of requires. /*@ requires count > 0; */ void bla(char * adr, int count) { //@ loop invariant \at(adr,Pre) <= adr < \at(adr,Pre)+\at(count,Pre); do { int v = *adr; adr++; } while (--count); } char t[42]; void main () { bla(t+28, 14); }
issue