automated cppcheck for gnupg
    Werner Koch 
    wk at gnupg.org
       
    Tue Apr 15 22:06:15 CEST 2014
    
    
  
On Tue, 15 Apr 2014 21:05, hans at guardianproject.info said:
> libgcrypt/tests/rsacvt.c:426
> 	resourceLeak	Resource leak: input
Who cares, it is short running test program.
> libgcrypt/src/hmac256.c:510
> 	deallocDealloc	Deallocating a deallocated pointer: hd
Just checked it.  It is pretty clear the HD is initialzied and has not
been deinitialized.  But please prove me wrong.
> libksba/src/cert.c:447
> 	nullPointer	Possible null pointer dereference: cert - otherwise it is
> redundant to check if cert is null at line 445
Good catch.  However, it is questionanble whether the extra check is
usefull at all.  The fucntion is only specified if a cert object is
passed.  I'll fix it anyway.
> libgcrypt/cipher/test-getrusage.c:49
> 	wrongPrintfScanfArgNum	fprintf format string has 7 parameters but only 0 are
Unfinished code from 2007 - the file is not even used.  I'll fix it, though.
> libgcrypt/cipher/md.c:1251
> 	nullPointer	Possible null pointer dereference: spec -
> 	otherwise it is redundant to check if spec is null at line 1247
Actually this is a failsafe check, but right, it should be correct.
> libgcrypt/cipher/md.c:976
> 	nullPointer Possible null pointer dereference: r - otherwise it
>       is redundant to check if r is null at line 971
Code not found.
> libassuan/src/assuan.c:136
> 	nullPointer	Possible null pointer dereference: ctx - otherwise it is
> redundant to check if ctx is null at line 135
A bit hairy to fix.  I'll postpone it to tomorrow.
> gpgme/tests/gpg/t-eventloop.c:82
> 	autoVariables	Assigning address of local auto-variable to a function parameter.
That looks okay.  The variable aliases a function parameter.
> gpgme/src/w32-io.c:797
> 	memleak	Memory leak: ctx
Leaking in a out of resource case.  Fixed.
> gpgme/src/w32-util.c:713
> 	memleak	Memory leak: tmpname
Fixed.
> Also, in my experience, cppcheck does a better job when there are fewer little
> hacks like:
>
> pinentry/gtk+-2/gtksecentry.h:188 syntaxError
> 	Invalid number of character ({) when these macros are defined:
> 'MAKE_EMACS_HAPPY;__cplusplus'
Replaced by 
  #ifdef __cplusplus
  extern "C" {
  #if 0 
  } /* Make Emacs happy.  */
  #endif
  #endif /* __cplusplus */
which is what is used everywhere else.
> So the question is whether these should be automatically reported to
> committers, like build errors and test errors?  Are there any other static
That are the only errors, or did you filter them?
Shalom-Salam,
   Werner
-- 
Die Gedanken sind frei.  Ausnahmen regelt ein Bundesgesetz.
    
    
More information about the Gnupg-devel
mailing list