mirror of
https://github.com/asterisk/asterisk.git
synced 2025-09-21 12:54:56 +00:00
Bail out early when building an ast_trans_pvt and the translator doesn't supply a 'newpvt'
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@378248 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
@@ -283,6 +283,12 @@ static void *newpvt(struct ast_translator *t, const struct ast_format *explicit_
|
||||
int len;
|
||||
char *ofs;
|
||||
|
||||
/* If we don't have a local init routine, don't bother building the
|
||||
ast_trans_pvt */
|
||||
if (!t->newpvt) {
|
||||
return NULL;
|
||||
}
|
||||
|
||||
/*
|
||||
* compute the required size adding private descriptor,
|
||||
* buffer, AST_FRIENDLY_OFFSET.
|
||||
@@ -309,7 +315,7 @@ static void *newpvt(struct ast_translator *t, const struct ast_format *explicit_
|
||||
ast_format_copy(&pvt->explicit_dst, explicit_dst);
|
||||
}
|
||||
/* call local init routine, if present */
|
||||
if (t->newpvt && t->newpvt(pvt)) {
|
||||
if (t->newpvt(pvt)) {
|
||||
ast_free(pvt);
|
||||
return NULL;
|
||||
}
|
||||
|
Reference in New Issue
Block a user