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]
--------------------------------------------------------------

Reply via email to