From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-pg1-f181.google.com (mail-pg1-f181.google.com [209.85.215.181]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 3C709472F9D for ; Fri, 7 Aug 2026 11:42:31 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.215.181 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1786102962; cv=none; b=rQb0JOnum863vmyzkQDiXoH+oloPqaYKJxJsCC7aTzqNfr3EeS1rA4TaWwWQkFMLx7m+JVas8qB4jQC1Qvo3PPrTrOUrNEtJ7Yxhpzrr6JKSgDYigQVl0ouJZKPzZZ4X9iBO+6nMD/7BBa+DpK0/ZE64EUtKKlK/JB/olMBhou4= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1786102962; c=relaxed/simple; bh=oT5T3dLFneium61Yp5EjmuxugXHqACAQ0RatMGQIiRM=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=IAgmGF0wLcXOUG5ggRblF2W2p1EUXo9eOr8gVB0Atd/DFrrbgzVZ439zkPg6MngEdxMN/Kp6aHAs3d2IEHXhRb1U3T7gRN9AsiEtw5PO3x5cJZRRQHuV2d/01pMU9fMd7dMtZLLa+17l+rUiQDUXTXWVjXjQOaTYAG6I+7TV4XE= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=sS1pRKWd; arc=none smtp.client-ip=209.85.215.181 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="sS1pRKWd" Received: by mail-pg1-f181.google.com with SMTP id 41be03b00d2f7-ca7bea5e5b3so2641843a12.1 for ; Fri, 07 Aug 2026 04:42:31 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1786102948; x=1786707748; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=djjh8aS+tjNvT4Hn4JXEMFIbSSiOro7lhmqj3kM/upY=; b=sS1pRKWdGrYFU27mdgh53EVy6ttSEHlP/f9BsaiDJPUXPKw7De7ZL60TGoB94V4q6c O8/mpElHzj8erOJI9aoHW6OAG2+yulAYJBx4C0sMZk78QyR32veQk451fktF5V2+TsOf sx+W7L8p5w6/xTQIJAFJaxFoCjOJlDlUSJbSjNqG2Yc5pAVESEhKdDt8+dXpS2Hla1Gu Ze1kPJtbOJ14WEIw2lWTOVmN3kYBQd5v6MQ6WqSBFHLGTJYtOZhFzuTusAd+r5ico+PH zO5Ljz3PKPynwWDOTXAhOeKl1bPscl2ajQkgSkBwJlXlR4cCUECNy/LOrSksLaAeLHwM jhwg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1786102948; x=1786707748; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to:content-type; bh=djjh8aS+tjNvT4Hn4JXEMFIbSSiOro7lhmqj3kM/upY=; b=eXxQkeAwntsZsNxfvxMYmHE+zDvVDphcy8KJjThYUpySbH2/ZjxBdJwCBfENTQ/2VS ceuN8TLyBNVO7/yMoqExAfwwna4K7/JvriTVqnpeb1Vox8y7ytXaYx3P/KE3EcFF5V2Z ykGNjfTsUHGqs8FG9526/lw7udqqSomOsTOXlmFs5kYEA7pkSwpZFDXk8fdx3sVTgwkF WkI+IaVtXkkDDDSHdu5IQ/JYlKMqETMEnKasJiOAPMTD/5AOHTcQI4e+viL4nJ0yMide v8OdV7Q5kNcNsVkmmxqJojPeNgPiLPySs7w2B7xJMrMgrRdK5abJGMz4A64QdZtqKwrx x0Cg== X-Forwarded-Encrypted: i=1; AHgh+RqsnZmyqCd77Fcn7Uf1dCr9OER8SBRFsLIgTtUej/1BZgldilU8EOgzSbHgYlWDW8b5mPZgIze+4H0nJd4=@vger.kernel.org X-Gm-Message-State: AOJu0YxolPAe+ffyH9pU1/F/zOKgL83ElyoPN172KOLaYdOuLbl52d8t Icu7hwi03rGhXFfWwVe0E0ZhtoQ+3UXaIGXFFBCYhIQSBBOZ7oEmB2K+ X-Gm-Gg: AR+sD12f7vNNwAk6enagZ5J03RzPw3/sz7BM4+8aM8X9VuGu+D73UM43qZrC8tV9MA4 uHoiUF+Mf17YstfKGI8EqTs8oaOHQWPy1TKrrfBa43ujgQGHBuugLkTbsk9z23CYQrbwvLTKkhb sBOZqyCwSRE62Ta/3Iv3zC7Ylb459TvDroTGqlH2cOmUFBZt/U/d2ijmbOJQndOIQwKmcydF3H8 /P9q+qqRCdt3dnBsjAX7Lf85o3lDr1JdEjQIeKFHIvnvtpv7RQNFMvALph3F34hoRtHu0qlkm5I XhMSfOSfqALQy9jG6sYmbK3qJuCEeqWN9scgrN0Tslq+SxTnpqB8CBLA505Jwpd2V971wpkp4CZ I+YzQSpAdGWrgCbIZtKiUxP6LrqkBRfpjmMUMZ56OiGYB02blD0pf7/YiwfVS9zrwuAOpRTghxr zOpAZRLn+eKN+iJpNn7kETsi/qU2RBzRDlj6JN8HYxnLd/75gmZiSP+j4Zk8/vVF1SXnm4y+zWD 0da9eidCoNQp4BGzEv8SA== X-Received: by 2002:a05:6a20:7f86:b0:3bf:9c93:ac44 with SMTP id adf61e73a8af0-3cb85ea363cmr20852727637.19.1786102946899; Fri, 07 Aug 2026 04:42:26 -0700 (PDT) Received: from localhost.localdomain ([72.255.58.127]) by smtp.gmail.com with ESMTPSA id 5a478bee46e88-315be86d3fcsm6930508eec.4.2026.08.07.04.42.21 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 07 Aug 2026 04:42:26 -0700 (PDT) From: Mahad Ibrahim To: Takashi Iwai , Jaroslav Kysela Cc: Kees Cook , Andy Shevchenko , linux-sound@vger.kernel.org, linux-kernel@vger.kernel.org, Mahad Ibrahim Subject: [PATCH 5/7] ALSA: usb-audio: replace strlcat() with append_ctl_name() Date: Fri, 7 Aug 2026 11:41:37 +0000 Message-ID: <20260807114139.1661-6-mahad.ibrahim.dev@gmail.com> X-Mailer: git-send-email 2.54.0 In-Reply-To: <20260807114139.1661-1-mahad.ibrahim.dev@gmail.com> References: <20260807114139.1661-1-mahad.ibrahim.dev@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit append_ctl_name() appended to kctl->id.name with strlcat() and returned its result. build_connector_control() open-coded the same append for the " Jack" suffix rather than calling the helper. Take the length of the existing name and write the suffix at that offset with strscpy(). The return value is rebuilt as the offset plus the length of the appended string, which is what strlcat() returns: the length the caller asked for, whether or not it fit. No caller currently uses it. While here, call append_ctl_name() for the " Jack" suffix instead of repeating the append inline. The name that ends up in kctl->id.name is unchanged, and so is the value returned to callers. Signed-off-by: Mahad Ibrahim --- sound/usb/mixer.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/sound/usb/mixer.c b/sound/usb/mixer.c index 703c118f9d4e..77335bc89aa0 100644 --- a/sound/usb/mixer.c +++ b/sound/usb/mixer.c @@ -1748,7 +1748,11 @@ const struct snd_kcontrol_new *snd_usb_feature_unit_ctl = &usb_feature_unit_ctl; */ static size_t append_ctl_name(struct snd_kcontrol *kctl, const char *str) { - return strlcat(kctl->id.name, str, sizeof(kctl->id.name)); + size_t len = strlen(kctl->id.name); + + strscpy(kctl->id.name + len, str, sizeof(kctl->id.name) - len); + + return len + strlen(str); } /* @@ -2116,7 +2120,7 @@ static void build_connector_control(struct usb_mixer_interface *mixer, } if (check_mapped_name(map, kctl->id.name, sizeof(kctl->id.name))) - strlcat(kctl->id.name, " Jack", sizeof(kctl->id.name)); + append_ctl_name(kctl, " Jack"); else get_connector_control_name(mixer, term, is_input, kctl->id.name, sizeof(kctl->id.name)); -- 2.54.0