[squid-dev] New Defects reported by Coverity Scan for Squid after IndependentRunner

Amos Jeffries squid3 at treenet.co.nz
Fri Sep 9 11:21:46 UTC 2016


These issues are caused by the new RegisterRunner() design using
GetRidOfRunner(rr) if shutdown has already begun. That can potentially
result in the constructor of a class inheriting from IndependentRunner
deleting 'this', then the new'd object being used.

I think what we should be doing is using Must(RegisterRunner(this))
instead of just RegisterRunner(this) for children of IndependentRunner
so their constructors throw on errors.

Also the IndependentRunner::registerRunner() method is not used
anywhere. Was it supposed to be called by the child classes ?
 (IdleConnList and ConnStateData)

Amos


On 9/09/2016 5:45 a.m., scan-admin wrote:
> 
> ** CID 1372673:  Memory - illegal accesses  (USE_AFTER_FREE)
> /src/servers/FtpServer.cc: 55 in Ftp::Server::Server(const RefCount<MasterXaction> &)()
> 
> 
> ________________________________________________________________________________________________________
> *** CID 1372673:  Memory - illegal accesses  (USE_AFTER_FREE)
> /src/servers/FtpServer.cc: 55 in Ftp::Server::Server(const RefCount<MasterXaction> &)()
> 49     static bool CommandHasPathParameter(const SBuf &cmd);
> 50     };
> 51     
> 52     Ftp::Server::Server(const MasterXaction::Pointer &xact):
> 53         AsyncJob("Ftp::Server"),
> 54         ConnStateData(xact),
>>>>     CID 1372673:  Memory - illegal accesses  (USE_AFTER_FREE)
>>>>     Dereferencing freed pointer "this".
> 55         master(new MasterState),
> 56         uri(),
> 57         host(),
> 58         gotEpsvAll(false),
> 59         onDataAcceptCall(),
> 60         dataListenConn(),
> 
> ** CID 1372672:  Memory - illegal accesses  (USE_AFTER_FREE)
> /src/servers/Http1Server.cc: 27 in Http::One::Server::Server(const RefCount<MasterXaction> &, bool)()
> 
> 
> ________________________________________________________________________________________________________
> *** CID 1372672:  Memory - illegal accesses  (USE_AFTER_FREE)
> /src/servers/Http1Server.cc: 27 in Http::One::Server::Server(const RefCount<MasterXaction> &, bool)()
> 21     #include "servers/Http1Server.h"
> 22     #include "SquidConfig.h"
> 23     #include "Store.h"
> 24     
> 25     CBDATA_NAMESPACED_CLASS_INIT(Http1, Server);
> 26     
>>>>     CID 1372672:  Memory - illegal accesses  (USE_AFTER_FREE)
>>>>     Dereferencing freed pointer "this".
> 27     Http::One::Server::Server(const MasterXaction::Pointer &xact, bool beHttpsServer):
> 28         AsyncJob("Http1::Server"),
> 29         ConnStateData(xact),
> 30         isHttpsServer(beHttpsServer)
> 31     {
> 32     }
> 
> 
> ________________________________________________________________________________________________________
> To view the defects in Coverity Scan visit, https://u2389337.ct.sendgrid.net/wf/click?upn=08onrYu34A-2BWcWUl-2F-2BfV0V05UPxvVjWch-2Bd2MGckcRbvv5V1jRT-2FFTEh5SouD11PsnhHEJCA6aD7rB3cIxbLXQ-3D-3D_gndHAcXBoX6qDcYycKjMaKhQpd-2BDW-2BORg0izVeF8khSp2-2BSTODpQkV5I-2Fmydok7q79FMgS3x7g7GnwLNQ6LGBoh25NErdySWe-2FmGN-2Byw29L3E76sjeJMeKn74qRS8yQ07x6d-2Ba5gkubs9LPJj8j2O8-2B5-2FVzqEqPeXMnWlnFfh3X252jxFQIppsOaAa8iZzFwCFNfhmHLg1OqwRzwN-2FtsF8AlRD7-2B-2BejzeO-2FJpfrpEFs-3D
> 
> To manage Coverity Scan email notifications for "noc at lists.squid-cache.org", click https://u2389337.ct.sendgrid.net/wf/click?upn=08onrYu34A-2BWcWUl-2F-2BfV0V05UPxvVjWch-2Bd2MGckcRbVDbis712qZDP-2FA8y06Nq4W76P2yZz75NEA4ckHihJ8hDUYC6WdPXELy5U35hjpH-2Bx0oGMlKYQxYZwu48zd34K0Fjksb1evIPVJe6QGymC0lD6Es5FNSogirJxAlrf7ao-3D_gndHAcXBoX6qDcYycKjMaKhQpd-2BDW-2BORg0izVeF8khSp2-2BSTODpQkV5I-2Fmydok7q79FMgS3x7g7GnwLNQ6LGBmkrenZtrNlpx1-2BVjUi4Qg1xsrieY0Pubzw8nl6tSWWV-2Fs2nSEb4qDzyeDJ9n6WRJBtiwZ74i6RhCXGJPf2SAmsQ-2BNYadNWqGwN4eFNzJPOthrQj3nlFSCY22YNeA1h5L-2BL43yXDsuegZsWQ-2BKWbTKU-3D
> 
> _______________________________________________
> NOC mailing list
> NOC at lists.squid-cache.org
> http://lists.squid-cache.org/listinfo/noc
> 



More information about the squid-dev mailing list