Free "fake" on error.
authoraland <aland>
Tue, 15 May 2007 09:53:24 +0000 (09:53 +0000)
committeraland <aland>
Tue, 15 May 2007 09:53:24 +0000 (09:53 +0000)
This fixes Coverity bug #43

src/main/session.c

index 3f08a1e..e2e4040 100644 (file)
@@ -49,6 +49,7 @@ int session_zap(REQUEST *request, uint32_t nasaddr, unsigned int port,
        /* Hold your breath */
 #define PAIR(n,v,t,e) do { \
                if(!(vp = paircreate(n, t))) { \
+                       request_free(&stopreq); \
                        radlog(L_ERR|L_CONS, "no memory"); \
                        pairfree(&(stopreq->packet->vps)); \
                        return 0; \
@@ -60,6 +61,7 @@ int session_zap(REQUEST *request, uint32_t nasaddr, unsigned int port,
 #define IPPAIR(n,v) PAIR(n,v,PW_TYPE_IPADDR,vp_ipaddr)
 #define STRINGPAIR(n,v) do { \
        if(!(vp = paircreate(n, PW_TYPE_STRING))) { \
+               request_free(&stopreq); \
                radlog(L_ERR|L_CONS, "no memory"); \
                pairfree(&(stopreq->packet->vps)); \
                return 0; \