summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--doc/examples/decoding_encoding.c6
-rw-r--r--libavformat/matroskadec.c3
-rw-r--r--libavutil/opt.c7
3 files changed, 12 insertions, 4 deletions
diff --git a/doc/examples/decoding_encoding.c b/doc/examples/decoding_encoding.c
index ae1057c010..976b611cc1 100644
--- a/doc/examples/decoding_encoding.c
+++ b/doc/examples/decoding_encoding.c
@@ -79,7 +79,7 @@ static int select_channel_layout(AVCodec *codec)
{
const uint64_t *p;
uint64_t best_ch_layout = 0;
- int best_nb_channells = 0;
+ int best_nb_channels = 0;
if (!codec->channel_layouts)
return AV_CH_LAYOUT_STEREO;
@@ -88,9 +88,9 @@ static int select_channel_layout(AVCodec *codec)
while (*p) {
int nb_channels = av_get_channel_layout_nb_channels(*p);
- if (nb_channels > best_nb_channells) {
+ if (nb_channels > best_nb_channels) {
best_ch_layout = *p;
- best_nb_channells = nb_channels;
+ best_nb_channels = nb_channels;
}
p++;
}
diff --git a/libavformat/matroskadec.c b/libavformat/matroskadec.c
index 17139acb3f..688a61556c 100644
--- a/libavformat/matroskadec.c
+++ b/libavformat/matroskadec.c
@@ -2327,7 +2327,8 @@ static int matroska_parse_block(MatroskaDemuxContext *matroska, uint8_t *data,
st->codec->codec_id == AV_CODEC_ID_ATRAC3) &&
st->codec->block_align && track->audio.sub_packet_size) {
- res = matroska_parse_rm_audio(matroska, track, st, data, size,
+ res = matroska_parse_rm_audio(matroska, track, st, data,
+ lace_size[n],
timecode, pos);
if (res)
goto end;
diff --git a/libavutil/opt.c b/libavutil/opt.c
index ab73913a39..0e7a3a85bb 100644
--- a/libavutil/opt.c
+++ b/libavutil/opt.c
@@ -1032,9 +1032,16 @@ static int parse_key_value_pair(void *ctx, const char **buf,
char *val;
int ret;
+ if (!key)
+ return AVERROR(ENOMEM);
+
if (*key && strspn(*buf, key_val_sep)) {
(*buf)++;
val = av_get_token(buf, pairs_sep);
+ if (!val) {
+ av_freep(&key);
+ return AVERROR(ENOMEM);
+ }
} else {
av_log(ctx, AV_LOG_ERROR, "Missing key or no key/value separator found after key '%s'\n", key);
av_free(key);