# HG changeset patch # User bellard # Date 1043359257 0 # Node ID cd0155c9022eeb165eabddeb5538c11c61a524f2 # Parent 36dd902f98d224222228fbcde6864785a4cad4bf zero sized malloc patch by Roman Shaposhnick diff -r 36dd902f98d2 -r cd0155c9022e utils.c --- a/utils.c Thu Jan 23 18:44:26 2003 +0000 +++ b/utils.c Thu Jan 23 22:00:57 2003 +0000 @@ -386,11 +386,14 @@ } /* allocate private data */ - ic->priv_data = av_mallocz(fmt->priv_data_size); - if (!ic->priv_data) { - err = AVERROR_NOMEM; - goto fail; - } + if (fmt->priv_data_size > 0) { + ic->priv_data = av_mallocz(fmt->priv_data_size); + if (!ic->priv_data) { + err = AVERROR_NOMEM; + goto fail; + } + } else + ic->priv_data = NULL; /* default pts settings is MPEG like */ av_set_pts_info(ic, 33, 1, 90000); @@ -722,10 +725,14 @@ int av_set_parameters(AVFormatContext *s, AVFormatParameters *ap) { int ret; - - s->priv_data = av_mallocz(s->oformat->priv_data_size); - if (!s->priv_data) - return AVERROR_NOMEM; + + if (s->oformat->priv_data_size > 0) { + s->priv_data = av_mallocz(s->oformat->priv_data_size); + if (!s->priv_data) + return AVERROR_NOMEM; + } else + s->priv_data = NULL; + if (s->oformat->set_parameters) { ret = s->oformat->set_parameters(s, ap); if (ret < 0)