ast_strdup failures aren't really failures if the original value was NULL.

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@187714 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
Mark Michelson
2009-04-10 16:26:48 +00:00
parent bdcf8fca81
commit 9b580ea645

View File

@@ -566,13 +566,17 @@ start_over:
* All these failure points just return -1. The individual strings will
* be cleared when we destroy the channel.
*/
if (!(p->chan->cid.cid_rdnis = ast_strdup(p->owner->cid.cid_rdnis))) {
return -1;
if (p->owner->cid.cid_rdnis) {
if (!(p->chan->cid.cid_rdnis = ast_strdup(p->owner->cid.cid_rdnis))) {
return -1;
}
}
ast_party_redirecting_copy(&p->chan->redirecting, &p->owner->redirecting);
if (!(p->chan->cid.cid_dnid = ast_strdup(p->owner->cid.cid_dnid))) {
return -1;
if (p->owner->cid.cid_dnid) {
if (!(p->chan->cid.cid_dnid = ast_strdup(p->owner->cid.cid_dnid))) {
return -1;
}
}
p->chan->cid.cid_tns = p->owner->cid.cid_tns;