Emma Wermstrom
Tue, 12 Nov 2002 08:13:09 -0800
I have the following declared in a module:
typedef unsigned long/*@NULL@*/* Ptr_T;
sourcefile:
extern const /*@notnull@*/ Ptr_T Buffer_C[NofBuffers_C];
body:
const /*@notnull@*/Ptr_T Buffer_C[NofBuffers_C]
=
{
(Ptr_T)(Area_C + 0x1000),
(Ptr_T)(Area_C + 0x1400)
};
When I try to access Buffer_C from another module like this,
Ptr_T Pointers[X] = Buffer_C[Index] + (i * Size_C);
I get the following splint error message:
Pointer arithmetic involving possibly null pointer
Buffer_C[Index]: Buffer_C[Index] + (i * Size_C)
Pointer arithmetic using a possibly null pointer and integer. (Use
-nullptrarith to inhibit warning)
I have declared Buffer_C as notnull. What do I have to do to eliminate the error
message. I am not using a function call to get access to Buffer_C. It is direct.
If I surround the access like this
if (Buffer_C[Index] != NULL)
{
Ptr_T Pointers[X] = Buffer_C[Index] + (i * Size_C);
}
the error message will go away but I don´t really want to do that since I
know for sure
that the Buffer_C[Index] really is not NULL.
I'd be thankful for any help.
/Emma
---------------------------------------------------------------
Emma Wermström
Software Engineer
Saab Ericsson Space AB tel: 031-7354433
S-405 15 Goteborg mobil: 0708-375230
SWEDEN mail: [EMAIL PROTECTED]
--------------------------------------------------------------