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 91C1249986 for ; Sat, 24 Feb 2024 12:09:23 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 8A06F68C65D; Sat, 24 Feb 2024 14:09:20 +0200 (EET) Received: from mail-ej1-f51.google.com (mail-ej1-f51.google.com [209.85.218.51]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 91B3968BF4B for ; Sat, 24 Feb 2024 14:09:13 +0200 (EET) Received: by mail-ej1-f51.google.com with SMTP id a640c23a62f3a-a3ed9cae56fso229419866b.1 for ; Sat, 24 Feb 2024 04:09:13 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=jkqxz-net.20230601.gappssmtp.com; s=20230601; t=1708776552; x=1709381352; darn=ffmpeg.org; h=content-transfer-encoding:in-reply-to:from:references:to :content-language:subject:user-agent:mime-version:date:message-id :from:to:cc:subject:date:message-id:reply-to; bh=kCZX75Fh162Y8kyPNIGt/w9gEcO++DrfIVcRc00R1OM=; b=UqhjVTwLDipN5NgIrPlIIZW/61Ll9phGpw+qAQ3QrJorqzzgkVhfv4Ebi1Fua+gYV3 ke1rD2Lf61xqhN6jepXcC9Def/EgtpV3lCvDXrs5GmfUnMhZ/2LOhl9ZqbtB7fF3gYZi dWxezJ8SNSc6aFuNCQRNsdMACvpnZu0yv3+rayi5onh1mtpf2qrN3LpndikBNO7ajiru vRdUTY3UZRQbBC1/I3GrW8C0GcgGloF5xWzoDSfpRfp9qzgJq6fTn6A7ApqisqwBIi0Y IWOSBQP1rs+Gph0/d0DBrOySsLWgYj82HwwWdB05LGTngNeRGtrlZEJpqGQ3GssPLjTZ 9y1A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1708776552; x=1709381352; h=content-transfer-encoding:in-reply-to:from:references:to :content-language:subject:user-agent:mime-version:date:message-id :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=kCZX75Fh162Y8kyPNIGt/w9gEcO++DrfIVcRc00R1OM=; b=R0tBmfjZVpu7LO5M5GfKRtcKeOuV3nrYobDO89y5z+c+d54OxdVdXqQXkCvXqPC/I5 nM8HlmBHxXTIXZ3iKnPtvZqN02p5+DfoC/EJqeXXvie9wTAmSbEkZYGNO10Q8zAd8DXV fTlE0Od8KuXB4Fz7l2UiBpkOOutnkQBW8IXHojFZgML840qaOh6Ry1hWyMvszLgdm3au eM3ue7HFF01DYPFUB80o63dqiAlZkWbsFyTPwMwBQzFwPGR0kijFlTl2gFMaAwgmLJE9 FPDk8nzX/DM8DZGblxxTLOZ8Ie+BvTrQPqnOqpylHE+LDG+yk7UsAW1Lh1R10IhckeGu aGGA== X-Gm-Message-State: AOJu0YzRaNtoxIeXr9PT19g/vAOGfUF6UhmiUqdWBjps8SFJ0057xs5T rLJOdMfchKKuA25Peg2UlbprT1kQAc5O2IrFM3a4lDFqRRiURwz/pCBdp00zheyayj2Mo1vPZya 5 X-Google-Smtp-Source: AGHT+IFBU1Uo+Y1yq1Tjt+WzH/MAVZ4jSOk0zybB1h/TJsFVLjtoO4G8y4AmoHQS+is7oIFppB9+ew== X-Received: by 2002:a17:906:394c:b0:a3e:f9ae:4764 with SMTP id g12-20020a170906394c00b00a3ef9ae4764mr1536289eje.38.1708776552317; Sat, 24 Feb 2024 04:09:12 -0800 (PST) Received: from [192.168.0.15] (cpc92302-cmbg19-2-0-cust1183.5-4.cable.virginm.net. [82.1.212.160]) by smtp.gmail.com with ESMTPSA id r1-20020aa7da01000000b0056447b9799bsm482031eds.27.2024.02.24.04.09.11 for (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sat, 24 Feb 2024 04:09:12 -0800 (PST) Message-ID: <830a8be0-596e-4102-9472-bbaa78307b89@jkqxz.net> Date: Sat, 24 Feb 2024 12:09:41 +0000 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Content-Language: en-US To: ffmpeg-devel@ffmpeg.org References: From: Mark Thompson In-Reply-To: Subject: Re: [FFmpeg-devel] [PATCH 2/3] avutil/opt: Use correct function pointer type 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-Transfer-Encoding: 7bit Content-Type: text/plain; charset="us-ascii"; Format="flowed" Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" Archived-At: List-Archive: List-Post: On 21/02/2024 23:32, Andreas Rheinhardt wrote: > av_get_sample/pix_fmt() return their respective enums > and are therefore not of the type int (*)(const char*), > yet they are called as-if they were of this type. > This works in practice, but is actually undefined behaviour. > > With Clang 17 UBSan these violations are flagged, affecting lots > of tests. The number of failing tests went down from 3363 to 164 > here with this patch. > > Signed-off-by: Andreas Rheinhardt > --- > libavutil/opt.c | 14 ++++++++++++-- > 1 file changed, 12 insertions(+), 2 deletions(-) > > diff --git a/libavutil/opt.c b/libavutil/opt.c > index d13b1ab504..0681b19896 100644 > --- a/libavutil/opt.c > +++ b/libavutil/opt.c > @@ -444,16 +444,26 @@ static int set_string_fmt(void *obj, const AVOption *o, const char *val, uint8_t > return 0; > } > > +static int get_pix_fmt(const char *name) > +{ > + return av_get_pix_fmt(name); > +} > + > static int set_string_pixel_fmt(void *obj, const AVOption *o, const char *val, uint8_t *dst) > { > return set_string_fmt(obj, o, val, dst, > - AV_PIX_FMT_NB, av_get_pix_fmt, "pixel format"); > + AV_PIX_FMT_NB, get_pix_fmt, "pixel format"); > +} > + > +static int get_sample_fmt(const char *name) > +{ > + return av_get_sample_fmt(name); > } > > static int set_string_sample_fmt(void *obj, const AVOption *o, const char *val, uint8_t *dst) > { > return set_string_fmt(obj, o, val, dst, > - AV_SAMPLE_FMT_NB, av_get_sample_fmt, "sample format"); > + AV_SAMPLE_FMT_NB, get_sample_fmt, "sample format"); > } > > static int set_string_dict(void *obj, const AVOption *o, const char *val, uint8_t **dst) 1 and 2 of this set LGTM. Thanks, - Mark _______________________________________________ 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".