I have the following declared in a module:

typedef unsigned long/*@NULL@*/* Ptr_T;

extern const /*@notnull@*/ Ptr_T Buffer_C[NofBuffers_C];

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