Skip to content
Snippets Groups Projects
Commit ad47ac20 authored by Stefano Sabatini's avatar Stefano Sabatini
Browse files

lavf/segment: remove silly assert(), improve feedback

The code should not assert in case of invalid user input. Fails
gracefully instead.
parent 68bc0121
No related branches found
No related tags found
No related merge requests found
...@@ -29,7 +29,6 @@ ...@@ -29,7 +29,6 @@
#include "avformat.h" #include "avformat.h"
#include "internal.h" #include "internal.h"
#include "libavutil/avassert.h"
#include "libavutil/log.h" #include "libavutil/log.h"
#include "libavutil/opt.h" #include "libavutil/opt.h"
#include "libavutil/avstring.h" #include "libavutil/avstring.h"
...@@ -274,13 +273,18 @@ static int parse_times(void *log_ctx, int64_t **times, int *nb_times, ...@@ -274,13 +273,18 @@ static int parse_times(void *log_ctx, int64_t **times, int *nb_times,
for (i = 0; i < *nb_times; i++) { for (i = 0; i < *nb_times; i++) {
int64_t t; int64_t t;
char *tstr = av_strtok(p, ",", &saveptr); char *tstr = av_strtok(p, ",", &saveptr);
av_assert0(tstr);
p = NULL; p = NULL;
if (!tstr || !tstr[0]) {
av_log(log_ctx, AV_LOG_ERROR, "Empty time specification in times list %s\n",
times_str);
FAIL(AVERROR(EINVAL));
}
ret = av_parse_time(&t, tstr, 1); ret = av_parse_time(&t, tstr, 1);
if (ret < 0) { if (ret < 0) {
av_log(log_ctx, AV_LOG_ERROR, av_log(log_ctx, AV_LOG_ERROR,
"Invalid time duration specification in %s\n", p); "Invalid time duration specification '%s' in times list %s\n", tstr, times_str);
FAIL(AVERROR(EINVAL)); FAIL(AVERROR(EINVAL));
} }
(*times)[i] = t; (*times)[i] = t;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment