2023-02-23 14:32:35

by Ivan Orlov

[permalink] [raw]
Subject: [PATCH] Fix snprintf format warnings during 'alsa' kselftest compilation

Fix 'alsa' kselftest compilation warnings by making snprintf
format correspond the actual parameters types.

Signed-off-by: Ivan Orlov <[email protected]>
---
tools/testing/selftests/alsa/pcm-test.c | 12 ++++++------
1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/tools/testing/selftests/alsa/pcm-test.c b/tools/testing/selftests/alsa/pcm-test.c
index f293c7d81009..52b109a162c6 100644
--- a/tools/testing/selftests/alsa/pcm-test.c
+++ b/tools/testing/selftests/alsa/pcm-test.c
@@ -318,7 +318,7 @@ static void test_pcm_time1(struct pcm_data *data,
goto __close;
}
if (rchannels != channels) {
- snprintf(msg, sizeof(msg), "channels unsupported %ld != %ld", channels, rchannels);
+ snprintf(msg, sizeof(msg), "channels unsupported %ld != %u", channels, rchannels);
skip = true;
goto __close;
}
@@ -329,7 +329,7 @@ static void test_pcm_time1(struct pcm_data *data,
goto __close;
}
if (rrate != rate) {
- snprintf(msg, sizeof(msg), "rate unsupported %ld != %ld", rate, rrate);
+ snprintf(msg, sizeof(msg), "rate unsupported %ld != %u", rate, rrate);
skip = true;
goto __close;
}
@@ -393,24 +393,24 @@ static void test_pcm_time1(struct pcm_data *data,
frames = snd_pcm_writei(handle, samples, rate);
if (frames < 0) {
snprintf(msg, sizeof(msg),
- "Write failed: expected %d, wrote %li", rate, frames);
+ "Write failed: expected %ld, wrote %li", rate, frames);
goto __close;
}
if (frames < rate) {
snprintf(msg, sizeof(msg),
- "expected %d, wrote %li", rate, frames);
+ "expected %ld, wrote %li", rate, frames);
goto __close;
}
} else {
frames = snd_pcm_readi(handle, samples, rate);
if (frames < 0) {
snprintf(msg, sizeof(msg),
- "expected %d, wrote %li", rate, frames);
+ "expected %ld, wrote %li", rate, frames);
goto __close;
}
if (frames < rate) {
snprintf(msg, sizeof(msg),
- "expected %d, wrote %li", rate, frames);
+ "expected %ld, wrote %li", rate, frames);
goto __close;
}
}
--
2.34.1



2023-02-23 15:05:58

by Mark Brown

[permalink] [raw]
Subject: Re: [PATCH] Fix snprintf format warnings during 'alsa' kselftest compilation

On Thu, Feb 23, 2023 at 05:32:14PM +0300, Ivan Orlov wrote:
> Fix 'alsa' kselftest compilation warnings by making snprintf
> format correspond the actual parameters types.

What warnings are you seeing in what configuration (arch, toolchain, any
custom options...)? I'm not seeing anything when I test. Are these
perhaps architecture dependent warnings?

Please submit patches using subject lines reflecting the style for the
subsystem, this makes it easier for people to identify relevant patches.
Look at what existing commits in the area you're changing are doing and
make sure your subject lines visually resemble what they're doing.
There's no need to resubmit to fix this alone.


Attachments:
(No filename) (687.00 B)
signature.asc (488.00 B)
Download all attachments

2023-02-23 20:15:04

by Ivan Orlov

[permalink] [raw]
Subject: Re: [PATCH] Fix snprintf format warnings during 'alsa' kselftest compilation

On 23.02.2023 18:05, Mark Brown wrote:

> What warnings are you seeing in what configuration (arch, toolchain, any
> custom options...)? I'm not seeing anything when I test. Are these
> perhaps architecture dependent warnings?
>
> Please submit patches using subject lines reflecting the style for the
> subsystem, this makes it easier for people to identify relevant patches.
> Look at what existing commits in the area you're changing are doing and
> make sure your subject lines visually resemble what they're doing.
> There's no need to resubmit to fix this alone.

Thank you for the review! I will follow the common subject lines style
in the future.

I compiled the test via gcc 11.3.0 without any custom options, the arch
is x86_64. There were five warnings during the test compilation, and all
of them were caused by incorrect format in 'snprintf' function calls. As
I know, using incorrect format in 'snprintf' creates an undefined
behavior. Maybe there is a point to fix it?

2023-02-27 14:12:13

by Mark Brown

[permalink] [raw]
Subject: Re: [PATCH] Fix snprintf format warnings during 'alsa' kselftest compilation

On Thu, Feb 23, 2023 at 11:14:56PM +0300, Ivan Orlov wrote:

> I compiled the test via gcc 11.3.0 without any custom options, the arch is
> x86_64. There were five warnings during the test compilation, and all of
> them were caused by incorrect format in 'snprintf' function calls. As I
> know, using incorrect format in 'snprintf' creates an undefined behavior.
> Maybe there is a point to fix it?

The question is more where does the warning come from and is this a good
fix - a common pattern where generic types like size_t get used is that
the underlying type changes between platforms and warnings just get
moved about by changing the printf format around.


Attachments:
(No filename) (663.00 B)
signature.asc (488.00 B)
Download all attachments