Incorrect results with low slevel
ID0000844: **This issue was created automatically from Mantis Issue 844. Further discussion may take place here.** --- | **Id** | **Project** | **Category** | **View** | **Due Date** | **Updated** | | --- | --- | --- | --- | --- | --- | | ID0000844 | Frama-C | Plug-in > Eva | public | 2011-05-28 | 2011-10-10 | | | | | | | | | --- | --- | --- | --- | --- | --- | | **Reporter** | yakobowski | **Assigned To** | pascal | **Resolution** | fixed | | **Priority** | normal | **Severity** | major | **Reproducibility** | always | | **Platform** | - | **OS** | - | **OS Version** | - | | **Product Version** | Frama-C Carbon-20110201 | **Target Version** | - | **Fixed in Version** | Frama-C Nitrogen-20111001 | ### Description : The following program is correct and always terminates. However, with no slevel, the value analysis incorrectly states that main and memset do not terminate. (Analyzed with -value -slevel 0) void* memset (void* dest, int val, unsigned int len) { unsigned char *ptr = (unsigned char*)dest; while (len-- > 0) { *ptr++ = val; } return dest; } extern int k; void main () { int v; int x = k ? 2 : 3; memset(&v,42,x); }
issue