Fix a memory copying bug in slinfactory which was causing mixmonitor issues.
authorJonathan Rose <jrose@digium.com>
Tue, 28 May 2013 17:47:29 +0000 (17:47 +0000)
committerJonathan Rose <jrose@digium.com>
Tue, 28 May 2013 17:47:29 +0000 (17:47 +0000)
Reported by: Michael Walton
Tested by: Jonathan Rose
Patches:
    slinfactory.c.ASTERISK-21799.patch uploaded by Michael Walton (license 6502)
(closes issue ASTERISK-21799)
........

Merged revisions 389895 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........

Merged revisions 389896 from http://svn.asterisk.org/svn/asterisk/branches/11

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@389897 65c4cc65-6c06-0410-ace0-fbb531ad65f3

main/slinfactory.c

index 921edb0..687a6c0 100644 (file)
@@ -147,7 +147,7 @@ int ast_slinfactory_read(struct ast_slinfactory *sf, short *buf, size_t samples)
 
                if (sf->holdlen) {
                        if (sf->holdlen <= ineed) {
-                               memcpy(offset, sf->hold, sf->holdlen * sizeof(*offset));
+                               memcpy(offset, sf->offset, sf->holdlen * sizeof(*offset));
                                sofar += sf->holdlen;
                                offset += sf->holdlen;
                                sf->holdlen = 0;