OSDN Git Service

ALSA: hda: Use scnprintf() for string truncation
authorTakashi Iwai <tiwai@suse.de>
Fri, 13 Mar 2020 13:02:41 +0000 (14:02 +0100)
committerTakashi Iwai <tiwai@suse.de>
Fri, 13 Mar 2020 14:59:04 +0000 (15:59 +0100)
snd_hdac_codec_modalias() truncates the string to the given size and
returns its size, but it returned a wrong size from snprintf().
snprintf() returns the would-be-output size, not the actual size.
Use scnprintf() instead to return the correct size.

Link: https://lore.kernel.org/r/20200313130241.8970-1-tiwai@suse.de
Signed-off-by: Takashi Iwai <tiwai@suse.de>
sound/hda/hdac_device.c

index 9a526ae..e3119f5 100644 (file)
@@ -204,7 +204,7 @@ EXPORT_SYMBOL_GPL(snd_hdac_device_set_chip_name);
  */
 int snd_hdac_codec_modalias(struct hdac_device *codec, char *buf, size_t size)
 {
-       return snprintf(buf, size, "hdaudio:v%08Xr%08Xa%02X\n",
+       return scnprintf(buf, size, "hdaudio:v%08Xr%08Xa%02X\n",
                        codec->vendor_id, codec->revision_id, codec->type);
 }
 EXPORT_SYMBOL_GPL(snd_hdac_codec_modalias);