Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753661AbdLMRm4 (ORCPT ); Wed, 13 Dec 2017 12:42:56 -0500 Received: from mailout.easymail.ca ([64.68.200.34]:44893 "EHLO mailout.easymail.ca" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753041AbdLMRmz (ORCPT ); Wed, 13 Dec 2017 12:42:55 -0500 Reply-To: shuah@kernel.org Subject: Re: [PATCH] usbip: fix usbip bind writing random string after command in match_busid To: Juan Zea , linux-usb@vger.kernel.org Cc: Valentina Manea , linux-kernel@vger.kernel.org, Shuah Khan , Shuah Khan References: <204103862.1370220.1513160163538.JavaMail.zimbra@qindel.com> <473236275.1374013.1513163260837.JavaMail.zimbra@qindel.com> From: Shuah Khan Message-ID: <7eb8f072-c4fe-92c9-a7ad-dda390b5f9db@kernel.org> Date: Wed, 13 Dec 2017 10:42:44 -0700 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.5.0 MIME-Version: 1.0 In-Reply-To: <473236275.1374013.1513163260837.JavaMail.zimbra@qindel.com> Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1100 Lines: 30 On 12/13/2017 04:07 AM, Juan Zea wrote: > usbip bind writes commands followed by random string when writing to > match_busid attribute in sysfs, caused by using full variable size > instead of string length. > > Signed-off-by: Juan Zea > --- > tools/usb/usbip/src/utils.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/tools/usb/usbip/src/utils.c b/tools/usb/usbip/src/utils.c > index 2b3d6d2..ea1a1af 100644 > --- a/tools/usb/usbip/src/utils.c > +++ b/tools/usb/usbip/src/utils.c > @@ -42,7 +42,7 @@ int modify_match_busid(char *busid, int add) > snprintf(command, SYSFS_BUS_ID_SIZE + 4, "del %s", busid); > > rc = write_sysfs_attribute(match_busid_attr_path, command, > - sizeof(command)); > + strlen(command)); > if (rc < 0) { > dbg("failed to write match_busid: %s", strerror(errno)); > return -1; > Why not use the return value from snprintf() for length, instead of calling strlen(command)? thanks, -- Shuah