ensure that *all* fields in the req structure are cleared out before reusing it;...
authorKevin P. Fleming <kpfleming@digium.com>
Tue, 14 Oct 2008 09:31:50 +0000 (09:31 +0000)
committerKevin P. Fleming <kpfleming@digium.com>
Tue, 14 Oct 2008 09:31:50 +0000 (09:31 +0000)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@148695 65c4cc65-6c06-0410-ace0-fbb531ad65f3

channels/chan_sip.c

index 2dbc2d4..fe93f33 100644 (file)
@@ -1,4 +1,4 @@
- /*
+/*
  * Asterisk -- An open source telephony toolkit.
  *
  * Copyright (C) 1999 - 2006, Digium, Inc.
@@ -2402,11 +2402,17 @@ static void *_sip_tcp_helper_thread(struct sip_pvt *pvt, struct ast_tcptls_sessi
                goto cleanup;
 
        for (;;) {
+               struct ast_str *str_save;
+
+               str_save = req.data;
+               memset(&req, 0, sizeof(req));
+               req.data = str_save;
                ast_str_reset(req.data);
+
+               str_save = reqcpy.data;
+               memset(&reqcpy, 0, sizeof(reqcpy));
+               reqcpy.data = str_save;
                ast_str_reset(reqcpy.data);
-               req.len = 0;
-               req.ignore = 0;
-               req.debug = 0;
 
                req.socket.fd = ser->fd;
                if (ser->ssl) {