From patchwork Fri Jul 10 21:01:48 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: James Almer X-Patchwork-Id: 20952 Return-Path: X-Original-To: patchwork@ffaux-bg.ffmpeg.org Delivered-To: patchwork@ffaux-bg.ffmpeg.org Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org [79.124.17.100]) by ffaux.localdomain (Postfix) with ESMTP id 6945C44AB4A for ; Sat, 11 Jul 2020 00:02:16 +0300 (EEST) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 51D8068A188; Sat, 11 Jul 2020 00:02:16 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-qv1-f68.google.com (mail-qv1-f68.google.com [209.85.219.68]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id B40F968925C for ; Sat, 11 Jul 2020 00:02:07 +0300 (EEST) Received: by mail-qv1-f68.google.com with SMTP id dm12so3240198qvb.9 for ; Fri, 10 Jul 2020 14:02:07 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=dH5gIaOiS0epYc9X9woWj1MjmVYdHiNsUBIRnhFIqoU=; b=arDAAKJIEaz0HzzOnX2xfzme5ux5WZpY5WlTBoTNCZvEcZhb0TbCoRQBAhoizxW4ND I85+EGBMXwP+0ntxmuTqYA+EXj8UI94FPusKZlbXk1RkOuHPnISmbe2uITw0/S77ERQH vuuZROVDzXNJthMCBZ2HtfDvgBNAV+Ui5+CwPiaj0V5TrzC2F6SwWsdR/CZw+S4Vepu4 MTZ69msJe1/BrLbkyDZWuKnRzUj834CU1EbacARTUVSEXAuJ7vBTtQjEQagJDOjhpMbx xIuea5MGdnLneBIDvZiclc6CLYrH9wga/PqLuOLLaDgICDMrvr3LXD5e84cw0T5BP/BP PYlQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=dH5gIaOiS0epYc9X9woWj1MjmVYdHiNsUBIRnhFIqoU=; b=mPwPZTMOgrGV5sHXR2AOsLmssrgrkVrlhp7zhCtm8wnX8HfAWlFLJo8A19xlyhN79W bqoIZg0jcNUTEYwwJG9FKNsgC/vWUNjjxyYYDyHm7z9e2NhWMgqjyLX/I0hci1da9cba ph4S2elRV7JDqY7UUuYiRdui2WKIEKHXdjUYq/f6fVOvD1NoIW0rZkyrp6yJogaqP/T2 Dbfh1mw6Xt1hiyvx4DOewYQFlC57joKeOeslJcY4MdfNCVmgd1i7qdXJZnwLiP/WAPUq xVwxk5VLMe8RwkfLjpZL9gCUt/8iFgbohfk5B82VLE+d9ry8FfbWne/9zq91MztpN0+z rMLQ== X-Gm-Message-State: AOAM533q5XCQ9P8rjEcjX2uD9AjkT5KKvrDqJ3hMgEkRtHFonfhYiUuk CbcPbsKNO7AM7A+F4FGgnlHS3qnV X-Google-Smtp-Source: ABdhPJzrdU4tuhekFCOB1rlWWzKIXjX8Ar4ZJETj+jwjN3UTbyz7kkT8KZjPD4yGZHln8GfzuY2lsw== X-Received: by 2002:a0c:bd2c:: with SMTP id m44mr71462709qvg.195.1594414925823; Fri, 10 Jul 2020 14:02:05 -0700 (PDT) Received: from localhost.localdomain ([191.84.244.216]) by smtp.gmail.com with ESMTPSA id w18sm8679346qtn.3.2020.07.10.14.02.04 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 10 Jul 2020 14:02:05 -0700 (PDT) From: James Almer To: ffmpeg-devel@ffmpeg.org Date: Fri, 10 Jul 2020 18:01:48 -0300 Message-Id: <20200710210149.6969-2-jamrial@gmail.com> X-Mailer: git-send-email 2.27.0 In-Reply-To: <20200710210149.6969-1-jamrial@gmail.com> References: <20200710210149.6969-1-jamrial@gmail.com> MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH 2/3] avcodec/libx264: check for param allocation failure error code 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" And return the proper AVERROR value. Signed-off-by: James Almer --- libavcodec/libx264.c | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/libavcodec/libx264.c b/libavcodec/libx264.c index 4a82e1ba25..b39b89b565 100644 --- a/libavcodec/libx264.c +++ b/libavcodec/libx264.c @@ -529,6 +529,12 @@ static int parse_opts(AVCodecContext *avctx, const char *opt, const char *param) av_log(avctx, AV_LOG_ERROR, "bad option '%s': '%s'\n", opt, param); ret = AVERROR(EINVAL); +#if X264_BUILD >= 161 + } else if (ret == X264_PARAM_ALLOC_FAILED) { + av_log(avctx, AV_LOG_ERROR, + "out of memory parsing option '%s': '%s'\n", opt, param); + ret = AVERROR(ENOMEM); +#endif } else { av_log(avctx, AV_LOG_ERROR, "bad value for '%s': '%s'\n", opt, param); @@ -914,10 +920,13 @@ FF_ENABLE_DEPRECATION_WARNINGS { AVDictionaryEntry *en = NULL; while (en = av_dict_get(x4->x264_params, "", en, AV_DICT_IGNORE_SUFFIX)) { - if (x264_param_parse(&x4->params, en->key, en->value) < 0) + if ((ret = x264_param_parse(&x4->params, en->key, en->value)) < 0) { av_log(avctx, AV_LOG_WARNING, "Error parsing option '%s = %s'.\n", en->key, en->value); + if (ret == X264_PARAM_ALLOC_FAILED) + return AVERROR(ENOMEM); + } } }