All,
The implementation of SPEEX_PREPROCESS_GET_ECHO_STATE in preprocess.c seems to
be broken. The value of the echo_state pointer is assigned to the stack variable
rather than to the memory location pointed to by the stack variable.
Code snippet from preprocess.c:
case SPEEX_PREPROCESS_GET_ECHO_STATE:
ptr = (void*)st->echo_state;
break;
It seems as though the code should be:
case SPEEX_PREPROCESS_GET_ECHO_STATE:
(*(SpeexEchoState*)ptr) = (SpeexEchoState*)st->echo_state;
break;
PS - Sorry if this has already been received. I sent this yesterday before
realizing that I hadn't subscribed to the mailing list.
Jeff Kinzer
Software Developer
COMOTIV SYSTEMS
111 SW Columbia?Street Ste. 950
Portland,?OR 97201
Office: ?????503.224.7496
Direct Line: 503.821.6479
Fax:?????????503.222.0185
jkinzer at comotivsystems.com
www.comotiv.com
Jean-Marc Valin
2008-Jul-22 19:11 UTC
[Speex-dev] FW: SPEEX_PREPROCESS_GET_ECHO_STATE broken
> The implementation of SPEEX_PREPROCESS_GET_ECHO_STATE in preprocess.c > seems to be broken. The value of the echo_state pointer is assigned > to the stack variable rather than to the memory location pointed to > by the stack variable. > > case SPEEX_PREPROCESS_GET_ECHO_STATE: ptr = (void*)st->echo_state; > break; > > It seems as though the code should be: > > case SPEEX_PREPROCESS_GET_ECHO_STATE: (*(SpeexEchoState*)ptr) > (SpeexEchoState*)st->echo_state; break;Sorry about that. I'll fix it ASAP.> PS - Sorry if this has already been received. I sent this yesterday > before realizing that I hadn't subscribed to the mailing list.No worries. I'll remove it from the mod queue. Note that if you post when not subscribed, it just takes a few days before I approve it and post it. The idea isn't to prevent non-members from posting, just to control spam. Jean-Marc