From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org [79.124.17.100]) by master.gitmailbox.com (Postfix) with ESMTP id 7A2D84089E for ; Fri, 24 Dec 2021 03:11:12 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 806CD68B23D; Fri, 24 Dec 2021 05:09:34 +0200 (EET) Received: from mail-qk1-f175.google.com (mail-qk1-f175.google.com [209.85.222.175]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 9D8DE68B20C for ; Fri, 24 Dec 2021 05:09:26 +0200 (EET) Received: by mail-qk1-f175.google.com with SMTP id w27so1152800qkj.7 for ; Thu, 23 Dec 2021 19:09:26 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=rcombs.me; s=google; h=from:to:subject:date:message-id:in-reply-to:references:mime-version :content-transfer-encoding; bh=ExF/TYmU65aQq4B3Q0Euibe3b7iM/duy+t0sGlltyVM=; b=ffs+hLp4OdOTznnjjQW/mG+s5EWVSeDrvnvM1FdS21P2L6y1UQynuazi+23BzfVIEk z+fjqjEet8VebjXI+IP7yHfSrh27gmHCNoAJxkuCSgunRjjP1wVnCsKjV3YzRTQWU4yx yYMsuXfks+OP4iMV17mF0ZZRENSyFbQndsI2r7DlKPVj6W6MpZyjnQttEhvGGikrsOpP S+LBTgYr57JtTknsxKDHiABTMRtJeuRYxcxk2K6HFRMJrpv8jPSpgMi5kk/fA16zedAD gg/D7bGrKyHUYrFu9ZcERswxg4L18Ih+SSUd7I7qXyHCaLhJ4RZszjDloOTRFqTBnZVn oGeA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=ExF/TYmU65aQq4B3Q0Euibe3b7iM/duy+t0sGlltyVM=; b=C5XS3I/1kHIrdStwjCqdhsDPb9GC4Um0sx+IwrvRXvJB8/pSSqAmRej84ElBtmUoPr mMVhvEKE7qtomcmcrtY7zo2sNpLmuapZvVJgK3miWIdAcGCHimcsfUjWt7nJOyqNbXYz TLOdAnkvrm+lgOxN0vM+tZvrDhPcwAtnAYEYDNz9+VGVhAl424kutpChazsUq9qxJlCK cannpcuktDE3sNcQqH6owtIaUFq1SYEOGsP8R2aFBtvam1E1+y22YNCI6/EXj4hYBnn9 q2IVcunbw656TRnrghLIffhtaDXbKRUTBGytqiSpa+Kk/92tQgy0J0oYYd1jC5ABy7Dl CEhw== X-Gm-Message-State: AOAM533RAHT71uwmkDVam+B0rz7hfuUypEVGc/vnyVw5qckTw/mWPTS+ 1vkYUKhZ8vEfQnB6g3J6zBodftTBdC7e5ls= X-Google-Smtp-Source: ABdhPJzhJmXdlhoVVT6sIioonZ49yf4K4TTIkdWHwtHTOBzlFA4mtsAKPHzudr9FxLWtW7ulifwAWQ== X-Received: by 2002:a05:620a:454d:: with SMTP id u13mr3505411qkp.221.1640315365128; Thu, 23 Dec 2021 19:09:25 -0800 (PST) Received: from rcombs-mbp.localdomain ([2601:243:2000:5ac:cd8d:58a:de7b:88f1]) by smtp.gmail.com with ESMTPSA id e15sm5162479qtq.83.2021.12.23.19.09.24 for (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Thu, 23 Dec 2021 19:09:24 -0800 (PST) From: rcombs To: ffmpeg-devel@ffmpeg.org Date: Thu, 23 Dec 2021 21:09:00 -0600 Message-Id: <20211224030904.1196-13-rcombs@rcombs.me> X-Mailer: git-send-email 2.33.1 In-Reply-To: <20211224030904.1196-1-rcombs@rcombs.me> References: <20211224030904.1196-1-rcombs@rcombs.me> MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH 12/16] lavfi/drawutils: ensure we don't allow mixed-byte-depth formats X-BeenThere: ffmpeg-devel@ffmpeg.org X-Mailman-Version: 2.1.29 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 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" Archived-At: List-Archive: List-Post: These could be hazardous because of FFDrawColor's union --- libavfilter/drawutils.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/libavfilter/drawutils.c b/libavfilter/drawutils.c index e4d6ddcf4c..99c124822d 100644 --- a/libavfilter/drawutils.c +++ b/libavfilter/drawutils.c @@ -83,6 +83,7 @@ int ff_draw_init(FFDrawContext *draw, enum AVPixelFormat format, unsigned flags) unsigned i, nb_planes = 0; int pixelstep[MAX_PLANES] = { 0 }; int full_range = 0; + int depthb = 0; if (!desc || !desc->name) return AVERROR(EINVAL); @@ -96,6 +97,7 @@ int ff_draw_init(FFDrawContext *draw, enum AVPixelFormat format, unsigned flags) format == AV_PIX_FMT_YUVJ411P || format == AV_PIX_FMT_YUVJ440P) full_range = 1; for (i = 0; i < desc->nb_components; i++) { + int db; c = &desc->comp[i]; /* for now, only 8-16 bits formats */ if (c->depth < 8 || c->depth > 16) @@ -105,6 +107,11 @@ int ff_draw_init(FFDrawContext *draw, enum AVPixelFormat format, unsigned flags) /* data must either be in the high or low bits, never middle */ if (c->shift && ((c->shift + c->depth) & 0x7)) return AVERROR(ENOSYS); + /* mixed >8 and <=8 depth */ + db = (c->depth + 7) / 8; + if (depthb && (depthb != db)) + return AVERROR(ENOSYS); + depthb = db; /* strange interleaving */ if (pixelstep[c->plane] != 0 && pixelstep[c->plane] != c->step) -- 2.33.1 _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".