summaryrefslogtreecommitdiff
path: root/src/common/socket.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/common/socket.c')
-rw-r--r--src/common/socket.c14
1 files changed, 8 insertions, 6 deletions
diff --git a/src/common/socket.c b/src/common/socket.c
index 09521c312..c0864c9b3 100644
--- a/src/common/socket.c
+++ b/src/common/socket.c
@@ -633,14 +633,16 @@ static void delete_session(int fd)
aFree(session[fd]->wdata);
if( session[fd]->session_data )
aFree(session[fd]->session_data);
- for(i = 0; i < session[fd]->hdatac; i++) {
- if( session[fd]->hdata[i]->flag.free ) {
- aFree(session[fd]->hdata[i]->data);
- }
- aFree(session[fd]->hdata[i]);
- }
if( session[fd]->hdata )
+ {
+ for(i = 0; i < session[fd]->hdatac; i++) {
+ if( session[fd]->hdata[i]->flag.free ) {
+ aFree(session[fd]->hdata[i]->data);
+ }
+ aFree(session[fd]->hdata[i]);
+ }
aFree(session[fd]->hdata);
+ }
aFree(session[fd]);
session[fd] = NULL;
}