validity of a field defined in an abstract struct typedef
ID0001486:
**This issue was created automatically from Mantis Issue 1486. Further discussion may take place here.**
---
| **Id** | **Project** | **Category** | **View** | **Due Date** | **Updated** |
| --- | --- | --- | --- | --- | --- |
| ID0001486 | Frama-C | Plug-in > Eva | public | 2013-09-26 | 2014-03-13 |
| | | | | | |
| --- | --- | --- | --- | --- | --- |
| **Reporter** | dpariente | **Assigned To** | yakobowski | **Resolution** | fixed |
| **Priority** | normal | **Severity** | major | **Reproducibility** | always |
| **Platform** | - | **OS** | - | **OS Version** | - |
| **Product Version** | Frama-C Fluorine-20130501 | **Target Version** | - | **Fixed in Version** | Frama-C Neon-20140301 |
### Description :
[STANCE]
The small source code snippet is extracted from an Apache server module.
//------------------------------------
struct core_dir_config { int server_signature; } core_dir_config;
typedef struct core_dir_config core_dir_config;
struct request_rec { struct ap_conf_vector_t *per_dir_config; } request_rec;
typedef struct request_rec request_rec;
//@ requires \valid(r->per_dir_config);
const char * app(request_rec *r)
{
core_dir_config *conf;
conf = (core_dir_config *)(((void **)(r->per_dir_config))[0]);
if (conf->server_signature == 1) { return ""; }
return " ";
}
//------------------------------------
When analyzed by:
frama-c -val -main app bug.c -lib-entry -no-unicode
Value generates an error:
$ Internal error 835; debug info:
{{ NULL -> {0}; S_r -> {0} }} (size:<32>)
Is it "abstract struct type" related?
Is there any workaround?
## Attachments
- [patch-stance](/uploads/e7a7207756d1fab4453eae629c1694c0/patch-stance)
issue