Merged revisions 166569 via svnmerge from

https://origsvn.digium.com/svn/asterisk/trunk

................
r166569 | mmichelson | 2008-12-23 09:17:54 -0600 (Tue, 23 Dec 2008) | 20 lines

Merged revisions 166568 via svnmerge from 
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r166568 | mmichelson | 2008-12-23 09:16:26 -0600 (Tue, 23 Dec 2008) | 12 lines

Fix a crash resulting from a datastore with inheritance but no duplicate callback

The fix for this is to simply set the newly created datastore's data pointer
to NULL if it is inherited but has no duplicate callback.

(closes issue #14113)
Reported by: francesco_r
Patches:
      14113.patch uploaded by putnopvut (license 60)
Tested by: francesco_r


........

................


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.6.0@166570 65c4cc65-6c06-0410-ace0-fbb531ad65f3
1.6.0
Mark Michelson 17 years ago
parent b6244cfc7b
commit 4e5fd8376c

@ -1429,7 +1429,7 @@ int ast_channel_datastore_inherit(struct ast_channel *from, struct ast_channel *
if (datastore->inheritance > 0) {
datastore2 = ast_channel_datastore_alloc(datastore->info, datastore->uid);
if (datastore2) {
datastore2->data = datastore->info->duplicate(datastore->data);
datastore2->data = datastore->info->duplicate ? datastore->info->duplicate(datastore->data) : NULL;
datastore2->inheritance = datastore->inheritance == DATASTORE_INHERIT_FOREVER ? DATASTORE_INHERIT_FOREVER : datastore->inheritance - 1;
AST_LIST_INSERT_TAIL(&to->datastores, datastore2, entry);
}

Loading…
Cancel
Save