[asterisk-bugs] [Asterisk 0015313]: [patch] incorrect comparation in ast_monitor_change_fname() leads to deletion of recorded files

Asterisk Bug Tracker noreply at bugs.digium.com
Mon Jul 13 10:30:51 CDT 2009


The following issue is now READY FOR REVIEW. 
====================================================================== 
https://issues.asterisk.org/view.php?id=15313 
====================================================================== 
Reported By:                caspy
Assigned To:                
====================================================================== 
Project:                    Asterisk
Issue ID:                   15313
Category:                   Resources/res_monitor
Reproducibility:            always
Severity:                   major
Priority:                   normal
Status:                     ready for review
Asterisk Version:           1.6.0.9 
Regression:                 No 
SVN Branch (only for SVN checkouts, not tarball releases): N/A 
SVN Revision (number only!):  
Request Review:              
====================================================================== 
Date Submitted:             2009-06-11 04:20 CDT
Last Modified:              2009-07-13 10:30 CDT
====================================================================== 
Summary:                    [patch] incorrect comparation in
ast_monitor_change_fname() leads to deletion of recorded files
Description: 
In res_monitor.c in ast_monitor_change_fname() is done a comparation of new
monitor's filename with a current one to preserve of setting
chan->monitor->filename_changed in case of file name is not changed.
There is a mistake in filename preparation routines, which makes wrong
comparation of the SAME filename: 'chan->monitor->filename_base' contains
only current name of file and 'tmpstring' contains the SAME filename but
with full path.

In attached patch there is a couple of new debug messages, and a quick
fix.
This fix is working ok for me, but i'm not sure it is correct in idea. So,
please, review it before commiting.

Here is an example of debug output for this issue:
$ grep CASPY /var/log/asterisk/debug | tail -2
[Jun 11 12:39:39] DEBUG[19438] res_monitor.c: CASPY:
ast_monitor_change_fname(): fname_base:
in-20090611-123450-4957874222-1244709290-28095, filename_base:
in-20090611-123450-4957874222-1244709290-28095
[Jun 11 12:39:39] DEBUG[19438] res_monitor.c: CASPY:
ast_monitor_change_fname(): comparing:
/var/spool/asterisk/monitor/in-20090611-123450-4957874222-1244709290-28095
and in-20090611-123450-4957874222-1244709290-28095

Here you can see, that filename is the same, but one of compared with a
full path. This leads to later deletion of recorded files.
====================================================================== 

---------------------------------------------------------------------- 
 (0107672) lmadsen (administrator) - 2009-07-13 10:30
 https://issues.asterisk.org/view.php?id=15313#c107672 
---------------------------------------------------------------------- 
Issue is ready for review. 

Issue History 
Date Modified    Username       Field                    Change               
====================================================================== 
2009-07-13 10:30 lmadsen        Note Added: 0107672                          
2009-07-13 10:30 lmadsen        Status                   feedback => ready for
review
======================================================================




More information about the asterisk-bugs mailing list