[FFmpeg-devel] [PATCH 2/2] lavd/opengl_enc: check strings before parsing them.

Mark Thompson sw at jkqxz.net
Thu Feb 20 00:44:54 EET 2020


On 17/02/2020 12:50, Nicolas George wrote:
> Fix a segfault if OpenGL was not initialized before calling
> write_header().
> 
> Signed-off-by: Nicolas George <george at nsup.org>
> ---
>  libavdevice/opengl_enc.c | 4 ++++
>  1 file changed, 4 insertions(+)
> 
> diff --git a/libavdevice/opengl_enc.c b/libavdevice/opengl_enc.c
> index fa94345a7c..3d60f7d068 100644
> --- a/libavdevice/opengl_enc.c
> +++ b/libavdevice/opengl_enc.c
> @@ -588,6 +588,10 @@ static av_cold int opengl_read_limits(AVFormatContext *h)
>  
>      version = glGetString(GL_VERSION);
>      extensions = glGetString(GL_EXTENSIONS);
> +    if (!version || !extensions) {
> +        av_log(h, AV_LOG_ERROR, "OpenGL not available\n");

I'd make the error more direct, since this is to be seen by a developer messing up - it's that there is no OpenGL context current on the calling thread.

> +        return AVERROR(ENOSYS);> +    }
>  
>      av_log(h, AV_LOG_DEBUG, "OpenGL version: %s\n", version);
>      sscanf(version, "%d.%d", &major, &minor);
> 

Intent of patch LGTM.

Thanks,

- Mark


More information about the ffmpeg-devel mailing list