> -----Original Message-----
> From: marius adrian popa [mailto:[email protected]] 
> Sent: Viernes, 21 de Febrero de 2014 9:24
> 
> Here you can find result of checking Firebird with PVS-Studio 
> (in russian).
> http://habrahabr.ru/company/pvs-studio/blog/213423/
> 
> via linkedin
> http://www.linkedin.com/groups/%D0%A1heck-Firebird-using-PVSSt
> udio-1467097.S.5842562935817269250
> 
> ps:PVS-Studio is a static analyzer that detects errors in source code
> of C/C++/C++11 applications

Nice, although some of them seem to be false alarms. For example,
TextType::compare(). The typical result is -1, 0, 1. I would prefer to
change the result to plain int, but it may not be possible (I would have to
check all places affected).

I fixed the most obvious bugs in v3 (the ones I don't mention here), but I
have three tough ones:

1.- In CCH_down_grade_dbb() I need to know what's the scope for the lock

2.- This line
if (yyps->errflag != yyps->errflag) goto yyerrlab;
is generated by btyacc and it may be really
yyerrctx->errflag != yyps->errflag
or
yyps->save && yyps->save->errflag != yyps->errflag
etc.

3.- This supposedly dangerous definition
const ULONG END_BUCKET = (~0) << 1; is interesting, would
const ULONG END_BUCKET = (~0) ^ 1;
do the trick?

C.


------------------------------------------------------------------------------
Managing the Performance of Cloud-Based Applications
Take advantage of what the Cloud has to offer - Avoid Common Pitfalls.
Read the Whitepaper.
http://pubads.g.doubleclick.net/gampad/clk?id=121054471&iu=/4140/ostg.clktrk
Firebird-Devel mailing list, web interface at 
https://lists.sourceforge.net/lists/listinfo/firebird-devel

Reply via email to