* Made use ast_copy_string() instead of strcpy() for snoop uniqueid for
safety. There is no guarantee that the max channel uniqueid length will
remain the same as the snoop uniqueid space.
........
Merged revisions 420879 from http://svn.asterisk.org/svn/asterisk/branches/13
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@420880
65c4cc65-6c06-0410-ace0-
fbb531ad65f3
return NULL;
}
- strcpy(snoop->uniqueid, ast_channel_uniqueid(chan));
+ ast_copy_string(snoop->uniqueid, ast_channel_uniqueid(chan), sizeof(snoop->uniqueid));
/* To keep the channel valid on the Snoop structure until it is destroyed we bump the ref up here */
ast_channel_ref(snoop->chan);
/* The format on the Snoop channel will be this signed linear format, and it will never change */
caps = ast_format_cap_alloc(AST_FORMAT_CAP_FLAG_DEFAULT);
if (!caps) {
+ ast_channel_unlock(snoop->chan);
+ ast_hangup(snoop->chan);
return NULL;
}
ast_format_cap_append(caps, snoop->spy_format, 0);