From patchwork Sun Jun 10 23:48:37 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Carl Eugen Hoyos X-Patchwork-Id: 9361 Delivered-To: ffmpegpatchwork@gmail.com Received: by 2002:a02:11c:0:0:0:0:0 with SMTP id c28-v6csp3477527jad; Sun, 10 Jun 2018 16:48:48 -0700 (PDT) X-Google-Smtp-Source: ADUXVKK3vEYnVqnYWCZGm8xNuhNOa67mGRWJ9SWVYGEqlrMw3bHVN5r0VUB6OHtmcE3X5yOPnwaM X-Received: by 2002:a1c:34c9:: with SMTP id b192-v6mr7087256wma.21.1528674528515; Sun, 10 Jun 2018 16:48:48 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1528674528; cv=none; d=google.com; s=arc-20160816; b=oCdi14ssmSgQi21S5c+ZF9HgVrbfYwkxTl/YhVnARs8d+T2nVxHyD2o1YfYd8e66ZW rlo1U9Ko6rRGPl/92RhhhYR3LXyPNIafcecdlTfzLYb+XHlZoyOPUAizn1AREFom/w96 1AQASNW44NEd8/gX+LM/EWADzKM7r2pkw4ep6K1/xjbxRat8pbRVkhKW/NIh7LcSLfMr p9eMh0uVQn70HHJXzJhdMMXPa6mq8fdgDqKmGzhwvPVOeBiOZwI66tcoXdKul41Rh3cN l5jpAbgCZ8ReykDXMpKH3DmkcgBZoo7eNBIr4viSXst1znUBQp7MGEkod4IvjvdT5ceN 0FYQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:reply-to:list-subscribe:list-help:list-post :list-archive:list-unsubscribe:list-id:precedence:subject:to :message-id:date:from:mime-version:dkim-signature:delivered-to :arc-authentication-results; bh=eQb2qHd6QjHTy+p8Mi4syup6KZeFwNuRkKcNQw4mW9k=; b=SlKRCx/IhBR8CjOY8KRWdxIDYUI6ATuipsh1/c8a3qh3Jx8LGinLvtiQGaHWIlIptG 5GWV+9+0Ubs33jmYNTnjDwz4YqXAdtPKSXok49HWq/zR2RDDoWppFSeBhbSWanMqrATj CrpM0zszmCiHLqr90m6kgsPN0eWMZ732yM0pxv2tlaOfBdOOQz9P91w4CHHHR2o25KIn mxMfvlmjljFEpUlHAkORY8JDZ8fwfYNQ8ncdZoURNgConXQI8CQ4ekXuWHxk7rMGFiB9 +mYtdz35EB6joKG5hCA4klje9OptsBYkEoT8+SoRsuIp5Mkd8mg9ReBwYIUyYgd4n4d5 EcFw== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@gmail.com header.s=20161025 header.b=HusJSAd1; spf=pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) smtp.mailfrom=ffmpeg-devel-bounces@ffmpeg.org; dmarc=fail (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id o11-v6si5208892wmg.131.2018.06.10.16.48.47; Sun, 10 Jun 2018 16:48:48 -0700 (PDT) Received-SPF: pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) client-ip=79.124.17.100; Authentication-Results: mx.google.com; dkim=neutral (body hash did not verify) header.i=@gmail.com header.s=20161025 header.b=HusJSAd1; spf=pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) smtp.mailfrom=ffmpeg-devel-bounces@ffmpeg.org; dmarc=fail (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 04FA268AA6C; Mon, 11 Jun 2018 02:47:57 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-it0-f50.google.com (mail-it0-f50.google.com [209.85.214.50]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 5F8EA68AA14 for ; Mon, 11 Jun 2018 02:47:50 +0300 (EEST) Received: by mail-it0-f50.google.com with SMTP id u4-v6so8401771itg.0 for ; Sun, 10 Jun 2018 16:48:39 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:from:date:message-id:subject:to; bh=gWXxJKTYJkXXiVr1q/onZtnvLDT7znZujDI+8Q6X7K0=; b=HusJSAd1APgE46EY3GstnmHRbVAocVTRa57lEEv4loUnBH/+rVVFVpn66PL2KrUFjG 1+1MJBWd8P60VA5HLwr1Y5gpMT0aKYLuPnXXX3vVMU22BkAIYLcDwFkIWdcVpWOSlJNC 7ylHd5CmViQazYOkHSjXWHdFdg+4G+AXmZx1o52PG0juUhSjKwtUplToeN+tyN3G+Df2 8Bk+tujiCcvvCSmmeb1lfRMTOoGLscA2oYQq0qAqDl7yIKjJuPhjt3QsVZUxXAr3foaE R5jWljN9Ywj4OqVJUEkI6/2IQqHKW+9byaFo0xjrQQ/cUCeNqWg2A4/VcsqHFayToit3 c8Pg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:from:date:message-id:subject:to; bh=gWXxJKTYJkXXiVr1q/onZtnvLDT7znZujDI+8Q6X7K0=; b=eiK/YUa4LYCnUURoKV7LcXMQLjBV0yrVsFq/3NsZWs5NvlC72YxPqxE8EMSrplecbC hIaii364Xlks9cDLShO7CEJ4Gz1DMWYUBhe2OZlnChQNWMgZUdze16Bu4BL8d7mWSayf Cc1tKEoY/iqvFkMQYXCSIzFuOJvgr5IvpqB/Os0xEiQA91kFYRfNWQ1bL7jigRNNHM2b 0mWY+UT12VR/6I2YRmOI/9hDqisczcKZP3zzaLD0lWmaxIzy5lvUhsZe5gkiER2dB9Xg SInsfnvSCe5vTWoTO+PxTitzhorFzCIwcWQzuWWU4/XkyHghSdHkUpfbAOf6XjWF7Fj4 UlDw== X-Gm-Message-State: APt69E37z+dmyk9/pOtW/YTVNzTV0dUtjxEUKigUEBcy1PTodpOG6icM kEZ9tZURoiS2QCaVVC0Kjvzjt9QBtPFbbndyG34= X-Received: by 2002:a24:f502:: with SMTP id k2-v6mr9330698ith.1.1528674518008; Sun, 10 Jun 2018 16:48:38 -0700 (PDT) MIME-Version: 1.0 Received: by 2002:a02:b09b:0:0:0:0:0 with HTTP; Sun, 10 Jun 2018 16:48:37 -0700 (PDT) From: Carl Eugen Hoyos Date: Mon, 11 Jun 2018 01:48:37 +0200 Message-ID: To: FFmpeg development discussions and patches Subject: [FFmpeg-devel] [PATCH]ffplay: Don't crash if stream_cycle_channel() is called before initialization X-BeenThere: ffmpeg-devel@ffmpeg.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: FFmpeg development discussions and patches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: FFmpeg development discussions and patches Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" Hi! Attached patch fixes a crash if SDL sends a keydown event before stream and window initialization is finished, ticket #7252. Please comment, Carl Eugen From 43324194a81f1f33150fefac6336285ab95eb14f Mon Sep 17 00:00:00 2001 From: Carl Eugen Hoyos Date: Mon, 11 Jun 2018 01:44:24 +0200 Subject: [PATCH] ffplay: Don't crash if stream_cycle_channel() is called before initialization. SDL may send a keydown event before stream (and window) initialization is finished. Fixes ticket #7252. --- fftools/ffplay.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/fftools/ffplay.c b/fftools/ffplay.c index 84ba667..5ace5cd 100644 --- a/fftools/ffplay.c +++ b/fftools/ffplay.c @@ -3106,7 +3106,11 @@ static void stream_cycle_channel(VideoState *is, int codec_type) int old_index; AVStream *st; AVProgram *p = NULL; - int nb_streams = is->ic->nb_streams; + int nb_streams; + + if (!is->ic) + return; + nb_streams = is->ic->nb_streams; if (codec_type == AVMEDIA_TYPE_VIDEO) { start_index = is->last_video_stream; -- 1.7.10.4