Marios Titas
c1f9734f97
avfilter/src_movie: fix how we check for overflows with seek_point
...
Currently, if the movie source filter is used and a seek_point is
specified on a file that has a negative start time, ffmpeg will fail.
An easy way to reproduce this is as follows:
$ ffmpeg -vsync passthrough -filter_complex 'color=d=10,setpts=PTS-1/TB' test.mp4
$ ffmpeg -filter_complex 'movie=filename=test.mp4:seek_point=2' -f null -
The problem is caused by checking for int64_t overflow the wrong way.
In general, to check whether a + b overflows, it is not enough to do:
a > INT64_MAX - b
because b might be negative; the correct way is:
b > 0 && > a > INT64_MAX - b
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2016-04-03 01:50:08 +02:00
..
2016-03-16 00:05:45 -03:00
2015-10-14 10:04:01 -04:00
2015-11-25 21:59:33 +01:00
2015-11-25 21:59:33 +01:00
2015-12-23 09:22:59 -08:00
2016-01-27 11:11:51 +01:00
2016-03-04 22:20:12 +01:00
2016-02-07 22:47:39 +01:00
2016-02-08 22:51:32 +01:00
2015-12-06 19:10:39 +01:00
2015-10-14 10:04:01 -04:00
2015-12-09 07:58:19 -05:00
2016-03-22 10:15:31 -07:00
2015-08-29 16:38:38 +00:00
2015-09-12 01:43:06 +00:00
2016-02-04 23:14:02 +01:00
2015-10-14 10:04:01 -04:00
2015-09-20 19:02:33 +02:00
2015-10-24 10:18:55 -04:00
2015-05-20 19:14:11 +02:00
2016-02-26 11:12:45 +01:00
2015-11-25 22:22:17 +01:00
2015-09-20 19:02:33 +02:00
2015-12-23 19:15:25 +01:00
2015-07-02 15:36:00 +00:00
2015-12-09 07:58:13 -05:00
2015-10-14 10:04:01 -04:00
2015-11-25 21:59:33 +01:00
2016-03-22 10:15:31 -07:00
2016-01-05 19:07:19 -08:00
2015-09-12 01:43:06 +00:00
2016-01-19 20:14:14 +01:00
2015-10-14 10:04:01 -04:00
2015-10-14 10:04:01 -04:00
2016-02-23 00:44:07 +07:00
2015-12-02 18:31:56 -05:00
2016-02-18 15:35:30 +01:00
2016-01-22 21:41:11 +01:00
2015-10-14 10:04:01 -04:00
2015-10-14 10:04:01 -04:00
2016-02-18 15:35:30 +01:00
2015-10-02 10:37:44 +02:00
2016-02-03 17:09:24 +01:00
2015-04-08 13:05:06 +00:00
2015-12-28 12:23:59 +01:00
2016-03-28 21:27:59 +02:00
2015-12-06 10:09:09 +01:00
2015-10-14 10:04:01 -04:00
2015-10-29 18:16:09 +01:00
2015-10-26 20:56:17 +01:00
2016-03-22 10:15:31 -07:00
2016-01-31 15:44:11 -08:00
2015-12-01 19:31:58 -05:00
2016-03-25 17:18:49 +01:00
2015-11-08 18:50:26 +01:00
2015-10-14 10:04:01 -04:00
2015-10-14 10:04:01 -04:00
2015-10-29 17:43:13 +01:00
2015-09-05 16:22:03 +02:00
2015-08-08 21:58:48 +02:00
2016-02-12 00:38:45 +01:00
2015-10-14 10:04:01 -04:00
2016-02-11 23:09:39 +01:00
2015-11-07 16:43:36 +01:00
2016-03-08 20:50:26 +07:00
2016-03-08 20:50:26 +07:00
2016-02-12 00:37:11 +01:00
2016-02-12 17:14:30 +01:00
2016-02-28 23:18:31 +01:00
2016-01-22 11:11:06 +01:00
2016-02-24 16:03:57 +00:00
2016-02-24 16:03:57 +00:00
2015-12-22 16:04:30 +01:00
2016-02-24 19:30:13 +01:00
2015-12-22 16:04:30 +01:00
2015-09-05 16:22:03 +02:00
2016-02-24 16:03:57 +00:00
2016-02-24 17:31:44 +00:00
2016-03-13 10:06:21 +01:00
2016-01-27 16:36:46 +00:00
2014-09-18 00:48:15 +02:00
2016-03-03 11:15:30 +01:00
2016-02-17 18:59:56 +01:00
2016-02-10 19:57:23 +01:00
2015-08-26 11:12:23 +00:00
2016-03-05 02:04:57 +01:00
2015-10-14 10:04:01 -04:00
2016-03-22 10:15:31 -07:00
2015-12-22 16:04:30 +01:00
2016-02-18 11:55:00 +01:00
2016-02-14 15:21:36 +01:00
2015-09-10 21:06:58 +00:00
2015-11-25 22:22:17 +01:00
2015-09-20 19:02:33 +02:00
2015-11-25 00:34:29 +01:00
2015-11-03 16:28:30 -05:00
2016-02-16 19:18:31 +01:00
2015-11-07 16:43:36 +01:00
2015-04-19 23:45:35 +01:00
2016-01-07 09:58:55 +01:00
2016-02-24 17:31:44 +00:00
2016-01-27 16:36:46 +00:00
2016-01-31 15:44:11 -08:00
2015-09-20 19:02:33 +02:00
2015-08-26 11:12:23 +00:00
2015-09-24 17:26:27 +02:00
2015-02-06 19:07:29 +01:00
2015-08-08 21:59:21 +02:00
2016-03-28 14:13:17 -08:00
2016-01-28 19:49:48 -08:00
2014-11-15 02:39:49 +01:00
2016-01-24 14:32:14 +01:00
2015-10-27 14:35:30 +01:00
2014-08-10 04:51:19 +02:00
2014-08-13 01:00:38 +02:00
2016-03-25 17:18:49 +01:00
2016-01-28 19:49:48 -08:00
2016-01-31 15:44:11 -08:00
2016-01-31 15:44:11 -08:00
2016-02-24 17:31:44 +00:00
2016-01-28 19:49:48 -08:00
2015-11-11 14:56:53 +01:00
2016-02-05 21:05:47 +01:00
2016-04-03 01:50:08 +02:00
2016-01-31 15:44:11 -08:00
2016-01-31 15:44:11 -08:00
2016-02-24 17:31:44 +00:00
2015-10-03 15:22:16 +02:00
2015-01-05 01:45:49 +01:00
2015-12-31 09:14:17 +01:00
2015-02-11 13:51:58 +01:00
2016-01-27 16:36:46 +00:00
2015-02-11 13:51:58 +01:00
2016-03-22 10:15:31 -07:00
2016-03-25 17:18:49 +01:00
2015-12-10 08:01:40 -05:00
2015-08-18 22:22:49 -04:00
2016-01-27 16:36:46 +00:00
2015-04-08 13:05:06 +00:00
2015-04-08 13:05:06 +00:00
2015-04-08 13:05:06 +00:00
2016-02-24 19:30:13 +01:00
2016-01-27 16:36:46 +00:00
2016-03-13 10:06:21 +01:00
2015-10-17 07:43:23 -07:00
2016-03-03 21:20:08 +01:00
2016-01-27 16:36:46 +00:00
2015-03-16 23:43:12 +01:00
2015-12-21 08:15:31 -08:00
2015-09-18 14:52:19 +02:00
2015-12-21 08:17:13 -08:00
2015-09-02 16:35:21 +02:00
2016-01-27 16:36:46 +00:00
2016-02-27 21:35:20 +01:00
2016-03-25 17:18:49 +01:00
2016-01-27 16:36:46 +00:00
2015-12-21 08:21:20 -08:00
2015-12-19 09:34:08 -08:00
2015-03-16 23:43:12 +01:00
2016-02-26 22:22:05 +01:00
2015-10-22 16:13:26 -04:00
2016-01-27 16:36:46 +00:00
2016-03-13 00:38:54 +01:00
2015-08-28 19:05:19 +00:00
2016-01-27 16:36:46 +00:00
2016-01-27 16:36:46 +00:00
2016-03-19 12:26:14 +01:00
2016-01-27 16:36:46 +00:00
2016-02-17 09:42:46 +01:00
2016-01-03 22:55:31 +01:00
2015-03-16 23:43:12 +01:00
2016-02-16 09:16:32 +01:00
2016-01-27 16:36:46 +00:00
2015-03-20 09:41:32 +01:00
2016-03-07 12:05:42 +01:00
2016-01-27 16:36:46 +00:00
2016-01-27 16:36:46 +00:00
2015-03-17 16:52:10 +01:00
2016-02-16 16:12:44 +01:00
2016-02-07 15:49:20 +01:00
2015-10-14 10:04:01 -04:00
2015-11-25 22:22:17 +01:00
2015-04-08 13:05:06 +00:00
2015-11-09 08:09:41 +01:00
2016-01-27 16:46:58 +00:00
2015-10-22 16:13:26 -04:00
2015-09-20 19:02:33 +02:00
2015-11-09 08:09:42 +01:00
2016-01-27 16:36:46 +00:00
2015-11-22 16:16:16 -05:00
2016-01-27 16:36:46 +00:00
2016-01-27 16:36:46 +00:00
2016-01-27 16:36:46 +00:00
2015-08-18 10:24:01 -04:00
2016-03-06 19:55:02 +01:00
2016-01-27 16:36:46 +00:00
2016-01-31 15:44:11 -08:00
2015-09-18 22:42:38 +02:00
2016-01-27 16:36:46 +00:00
2016-02-25 15:52:01 +11:00
2016-01-27 16:36:46 +00:00
2015-01-06 01:21:19 +01:00
2016-01-27 16:36:46 +00:00
2016-01-27 16:36:46 +00:00
2016-01-27 16:36:46 +00:00
2015-03-16 23:43:12 +01:00
2016-01-25 23:49:22 +01:00
2015-09-09 00:30:53 +02:00
2016-01-27 16:36:46 +00:00
2016-01-27 16:36:46 +00:00
2016-03-28 14:13:17 -08:00
2016-01-27 16:36:46 +00:00
2016-01-27 16:36:46 +00:00
2016-01-27 16:36:46 +00:00
2016-02-23 00:21:49 +01:00
2016-01-27 16:36:46 +00:00
2014-10-17 00:44:35 -03:00
2015-09-12 02:14:44 +00:00
2016-01-27 16:36:46 +00:00
2016-01-27 16:36:46 +00:00
2016-01-06 16:41:50 +01:00
2015-11-03 16:28:30 -05:00
2015-10-14 10:04:01 -04:00
2016-01-27 16:36:46 +00:00
2016-01-31 15:34:09 -08:00
2016-01-27 16:36:46 +00:00
2016-01-27 16:36:46 +00:00
2015-01-09 17:26:31 +01:00
2015-04-08 13:05:06 +00:00
2016-01-27 16:36:46 +00:00
2016-01-27 16:36:46 +00:00
2015-04-21 22:54:13 +02:00
2015-09-20 19:02:33 +02:00
2016-01-27 16:36:46 +00:00
2015-04-08 13:05:06 +00:00
2016-01-27 16:36:46 +00:00
2016-01-27 16:36:46 +00:00
2016-01-27 16:36:46 +00:00
2016-01-20 13:32:00 +01:00
2015-10-17 15:01:57 +02:00
2015-08-30 15:58:12 +00:00
2015-03-22 17:30:24 +01:00
2016-01-27 16:36:46 +00:00
2015-12-09 07:57:37 -05:00
2015-12-01 22:00:25 +01:00
2015-11-25 22:22:17 +01:00
2016-01-27 16:36:46 +00:00
2016-01-27 16:36:46 +00:00
2016-01-27 16:36:46 +00:00
2014-12-21 01:48:19 +01:00
2016-01-27 16:36:46 +00:00
2016-02-04 18:02:29 +01:00
2016-01-27 16:36:46 +00:00
2016-02-27 16:26:10 +01:00
2015-09-08 18:47:06 +00:00
2016-02-08 15:43:09 +01:00
2015-10-14 10:04:01 -04:00
2016-01-27 16:36:46 +00:00
2015-10-07 19:05:13 +02:00
2015-09-20 19:02:33 +02:00
2016-02-14 19:17:36 +01:00
2016-01-27 16:36:46 +00:00
2016-01-27 16:36:46 +00:00
2016-01-27 16:36:46 +00:00
2016-03-20 21:10:45 +01:00
2016-01-27 16:36:46 +00:00
2015-09-15 11:12:49 -04:00
2015-09-09 00:59:43 +02:00
2016-01-27 16:36:46 +00:00
2016-01-27 16:36:46 +00:00
2016-03-29 22:02:48 +02:00
2015-09-18 22:42:38 +02:00
2016-02-01 11:59:17 +01:00
2016-02-12 15:59:35 +01:00
2016-03-03 13:28:25 +01:00
2015-12-15 10:35:41 +01:00
2014-08-22 22:18:46 +02:00
2014-08-22 22:19:20 +02:00
2015-09-15 18:34:44 +00:00
2015-10-14 10:04:01 -04:00
2015-12-19 09:34:26 -08:00
2016-01-27 16:36:46 +00:00
2016-03-22 10:15:31 -07:00
2015-10-10 17:33:43 +02:00
2016-01-05 11:37:11 +01:00
2016-01-05 11:37:11 +01:00
2015-04-05 15:46:11 +02:00