diff options
author | Tilghman Lesher <tilghman@meg.abyt.es> | 2009-11-09 07:37:52 +0000 |
---|---|---|
committer | Tilghman Lesher <tilghman@meg.abyt.es> | 2009-11-09 07:37:52 +0000 |
commit | c0b3c923a46afc12837698a78a11b17a7fc384d8 (patch) | |
tree | a1d863ce8753551f36998a0b98a2e728758de90a /res/res_pktccops.c | |
parent | ec6f1f3ea48d505e7774dd1863c47806789c9755 (diff) |
Fix various problems detected with Valgrind.
* chan_console accessed pvts after deallocation.
* cdr_mysql stored a pointer that was freed by realloc()
* The module loader did not check usecount on shutdown, which led to chan_iax2
reading a timer that was already unloaded.
* The event subsystem sometimes creates an event with no IEs. Due to a corner
condition, the code would read beyond the memory boundary.
* res_pktccops did not correctly check whether its monitor thread was started.
(closes issue #16062)
Reported by: alexanderheinz
Patches:
20091109__issue16062.diff.txt uploaded by tilghman (license 14)
Tested by: tilghman
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@228798 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Diffstat (limited to 'res/res_pktccops.c')
-rw-r--r-- | res/res_pktccops.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/res/res_pktccops.c b/res/res_pktccops.c index c3f7aa6be..60e5c4efd 100644 --- a/res/res_pktccops.c +++ b/res/res_pktccops.c @@ -1446,7 +1446,7 @@ static int load_module(void) static int unload_module(void) { if (!ast_mutex_lock(&pktccops_lock)) { - if (pktccops_thread && (pktccops_thread != AST_PTHREADT_STOP)) { + if ((pktccops_thread != AST_PTHREADT_NULL) && (pktccops_thread != AST_PTHREADT_STOP)) { pthread_cancel(pktccops_thread); pthread_kill(pktccops_thread, SIGURG); pthread_join(pktccops_thread, NULL); |