[Asterisk-cvs] asterisk/res res_musiconhold.c,1.69,1.70
kpfleming
kpfleming
Thu Sep 1 15:33:50 CDT 2005
Update of /usr/cvsroot/asterisk/res
In directory mongoose.digium.com:/tmp/cvs-serv5484/res
Modified Files:
res_musiconhold.c
Log Message:
don't access freed memory if the frame was malloc'd
Index: res_musiconhold.c
===================================================================
RCS file: /usr/cvsroot/asterisk/res/res_musiconhold.c,v
retrieving revision 1.69
retrieving revision 1.70
diff -u -d -r1.69 -r1.70
--- res_musiconhold.c 31 Aug 2005 01:16:48 -0000 1.69
+++ res_musiconhold.c 1 Sep 2005 19:34:49 -0000 1.70
@@ -241,18 +241,19 @@
struct moh_files_state *state = chan->music_state;
struct ast_frame *f = NULL;
int res = 0;
+
state->sample_queue += samples;
while (state->sample_queue > 0) {
if ((f = moh_files_readframe(chan))) {
state->samples += f->samples;
res = ast_write(chan, f);
+ state->sample_queue -= f->samples;
ast_frfree(f);
if (res < 0) {
ast_log(LOG_WARNING, "Failed to write frame to '%s': %s\n", chan->name, strerror(errno));
return -1;
}
- state->sample_queue -= f->samples;
} else
return -1;
}
More information about the svn-commits
mailing list