Search squid archive

Re: assertion failed: client_side.h:364: "sslServerBump == srvBump"

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



I’m encountering this same issue in Squid-3.5.3

 

> Changed to:

> 

>   inline void setServerBump(Ssl::ServerBump *srvBump) {

>       if (!sslServerBump)

>           sslServerBump = srvBump;

>       else

>           assert(sslServerBump = srvBump);

 

Just FYI, from a glance this would leak an Ssl::ServerBump every time it hit that assert, which at least in my case would be quite often.

 

What I ended up doing, which could be completely wrong for the behaviour, but it seems to avoid the crashes, was add a function clearServerBump(), and use that in setServerBump to clean up the old sslServerBump (as in the header file it is only a forward declaration of the class):

 

client_side.h

 

    void clearServerBump();

    inline void setServerBump(Ssl::ServerBump *srvBump) {

        if (sslServerBump) {

            if (sslServerBump != srvBump) {

              clearServerBump();

            } else {

              return;

            }

        }

        sslServerBump = srvBump;

    }

 

client_side.cc

 

void ConnStateData::clearServerBump() {

  delete sslServerBump;

  sslServerBump = 0;

}

 

This could entirely have unintended side effects as I am not very familiar with how sslbumping is implemented, and the intended lifetime of the objects as relates to the client requests, but if you’re still using the workaround you posted I thought you should be aware that you would be leaking memory and provide you with an equivalent “solution” which does not leak memory in the same way.

_______________________________________________
squid-users mailing list
squid-users@xxxxxxxxxxxxxxxxxxxxx
http://lists.squid-cache.org/listinfo/squid-users

[Index of Archives]     [Linux Audio Users]     [Samba]     [Big List of Linux Books]     [Linux USB]     [Yosemite News]

  Powered by Linux