From patchwork Thu Apr 9 13:27:55 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Tzvetomir Stoyanov (VMware)" X-Patchwork-Id: 11481765 Return-Path: Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org [172.30.200.123]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 3670B913 for ; Thu, 9 Apr 2020 13:28:04 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 15386208FE for ; Thu, 9 Apr 2020 13:28:04 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="ormYSn5d" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726740AbgDIN2D (ORCPT ); Thu, 9 Apr 2020 09:28:03 -0400 Received: from mail-lj1-f196.google.com ([209.85.208.196]:42414 "EHLO mail-lj1-f196.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726632AbgDIN2D (ORCPT ); Thu, 9 Apr 2020 09:28:03 -0400 Received: by mail-lj1-f196.google.com with SMTP id q19so11399970ljp.9 for ; Thu, 09 Apr 2020 06:28:02 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=e3sg2NbhAbiy2SgdTDVquTcl4Fkh+a8KDnG0VV7fEO0=; b=ormYSn5dlRhsW5jSESHsCRBqDXvTBK7Xne+e9H7aIh6b8Kqa6s06ZGvKzMWiUYAu2G ZOTtmY3b/wGwJ5kXQxqIV/2UXZxgtPdFNFHzGJvK2rr8Uo6tzQSRuJKo058TCys+oxIT M/Pb+GwbRkj5Ps1L6N2snw26n+9BfX+F+LfM80sXei1Vd+yyeE+NWB5XwNwt8WzfIFzx hX+A4tTv/+3iAMV7YS2sYswC37UWvU7r8HTPiGWDL954vN8081rFJJm6P1NdgxhUpWUX gTJLAEaEEkB5AVjoR5K7hf7PPcUbyC1/QcRjngROQ3FuX3LbVB7str3YbfhBFME2Swxt a8uw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=e3sg2NbhAbiy2SgdTDVquTcl4Fkh+a8KDnG0VV7fEO0=; b=tMI/I7yfbjDLvF1KiLNFOiWfbOqnoyqipMJA8STemrXIHwW0EJRb/mcuJOf75hiiqu jhrzumvXpJlBRRC6f3tMRO8xfEWUsyr/dIZBf1rdsZ5rBaK4jbsBozekSqVTQXWicRX1 LSDMEAvSnBf8FuREkb5Fnd2g+5ChXTYI1WllV/SBT0JzChCNvGIoPsCbYHysO/sYVelc 1ZZKDCuHhqkshtXG42G2Ab3s3nkxYBhAuenzvHPsc5/El3r1Ku2wFWUAuwHAHaOb7z7D GMqO/PQdpFJitmISv8PwAe/z5EIzZRy1tPtImqVIw+t/Iu/mknq6fmtUeuZcbwxQrywc iDHA== X-Gm-Message-State: AGi0PuYZo6aoUyui7bH4ityuSQeCSchBISUMfRFG7saHTRQxGq1Mmi0o nvQ+6SgPtOamZaKZJqBgyovb3NoS+d0= X-Google-Smtp-Source: APiQypKbc145q3OuwhOWS89hIslLNUigCmg84O9GqZW+0Irdh9TS6rnFqsLWBAzxzQbZAP0OjCl0vA== X-Received: by 2002:a2e:8017:: with SMTP id j23mr5145014ljg.271.1586438881727; Thu, 09 Apr 2020 06:28:01 -0700 (PDT) Received: from oberon.zico.biz ([83.222.187.186]) by smtp.gmail.com with ESMTPSA id f2sm1067220lfl.18.2020.04.09.06.28.00 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 09 Apr 2020 06:28:00 -0700 (PDT) From: "Tzvetomir Stoyanov (VMware)" To: rostedt@goodmis.org Cc: linux-trace-devel@vger.kernel.org Subject: [PATCH 1/2] trace-cmd: Fix possible usage of not null-terminated string Date: Thu, 9 Apr 2020 16:27:55 +0300 Message-Id: <20200409132756.79402-2-tz.stoyanov@gmail.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20200409132756.79402-1-tz.stoyanov@gmail.com> References: <20200409132756.79402-1-tz.stoyanov@gmail.com> MIME-Version: 1.0 Sender: linux-trace-devel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-trace-devel@vger.kernel.org According to the readlink(const char *filename, char *buffer, size_t size); documentation, the terminating '\0' is not written in the buffer. As the buffer that is passed to this API is not initialized, this can lead to working with not null-terminated string. The problem was detected by valgrind. Signed-off-by: Tzvetomir Stoyanov (VMware) --- lib/trace-cmd/trace-plugin.c | 1 + lib/trace-cmd/trace-util.c | 1 + 2 files changed, 2 insertions(+) diff --git a/lib/trace-cmd/trace-plugin.c b/lib/trace-cmd/trace-plugin.c index 6bec18bc..92f9edf3 100644 --- a/lib/trace-cmd/trace-plugin.c +++ b/lib/trace-cmd/trace-plugin.c @@ -199,6 +199,7 @@ static char *get_source_plugins_dir(void) if (ret > PATH_MAX || ret < 0) return NULL; + path[ret] = 0; dirname(path); p = strrchr(path, '/'); if (!p) diff --git a/lib/trace-cmd/trace-util.c b/lib/trace-cmd/trace-util.c index 04dc804c..0ead96ea 100644 --- a/lib/trace-cmd/trace-util.c +++ b/lib/trace-cmd/trace-util.c @@ -269,6 +269,7 @@ static char *get_source_plugins_dir(void) if (ret > PATH_MAX || ret < 0) return NULL; + path[ret] = 0; dirname(path); p = strrchr(path, '/'); if (!p) From patchwork Thu Apr 9 13:27:56 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Tzvetomir Stoyanov (VMware)" X-Patchwork-Id: 11481767 Return-Path: Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org [172.30.200.123]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 2833281 for ; Thu, 9 Apr 2020 13:28:06 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 06E8520857 for ; Thu, 9 Apr 2020 13:28:06 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="DaYt2baX" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726765AbgDIN2F (ORCPT ); Thu, 9 Apr 2020 09:28:05 -0400 Received: from mail-lj1-f193.google.com ([209.85.208.193]:45639 "EHLO mail-lj1-f193.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726632AbgDIN2F (ORCPT ); Thu, 9 Apr 2020 09:28:05 -0400 Received: by mail-lj1-f193.google.com with SMTP id t17so11408656ljc.12 for ; Thu, 09 Apr 2020 06:28:03 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=jFKQu2UYgSwQ5tt70AIdnHoXHlY+9OlkHHztv6wiLlI=; b=DaYt2baXHl6jU1ZEjGqFFoJFeASHiPPrK/bDnyuS3++/JIgTUIf3Krz5YSFH3QDmlN T+y6q97IvufFDNYgZoRzp/Gck/ODhQ+0Fk0iC0/mhO6ZnEWGYfWfQnMJY0crMRsT7XGK 46FkwkO04mBbRZJ0cvKP8bGuH2qrbvORj6LHjo264LJqlwGdLk6AdWyzhCQKWvIPpbq+ eCyQPT9leSMfwr0U96YDdHwufV8KtAbOOput4DZBLzQrPNs0HhZkyrbxcgh1+miTJ+OL qwDCssr2ms3axqII0VoiLLgohS8F3uckbGd4/307DcedSFkGw35mbmcBDlqC2xGJ8Z82 ZLLw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=jFKQu2UYgSwQ5tt70AIdnHoXHlY+9OlkHHztv6wiLlI=; b=NdufFJpKscnjIuaWpbhZ7eHt7HRW7o7ekSHmjnFrrkCds6uOeLVmY9FbbZFY/XIMA+ Tg8C3ZkXfED1Qoqsw5SeFyficYcXGw8MKlaEWs/zQeuSbjOTogl3M9J98WXSQU0JYYAm fGignNyb/0xImdBDNe6QOjwkxh6O7kKg7ngnQHN+l+ymtnMwpQGQaSKLyB8R9eBl+CkO Hog9nzKj85/0vb1yBzVXHFu6W7mpUaTYfSanG58JkAcdHsCJySl1mWegI1T2PJNCt7rB gVZYcIMgoQG81Yai1FJMwC+OzYSKBmGr6OFPx4bGYv3BL7K8Ez6PtT6i8VG8hf02m7En FR4Q== X-Gm-Message-State: AGi0PubHUTMKLwsC80VCW0ZitqaH9X7XZZUWGRBFkAamzVj+gWgrN7e6 TQLx+zdpbIoY2KOf4s1efY0= X-Google-Smtp-Source: APiQypIS791wv7rspkxP8A+idxl772inYFPfje7Z4HFzvLfmLrRIXHcdgTBWCoQsN3Jk/DYEGTBA7A== X-Received: by 2002:a2e:804a:: with SMTP id p10mr8686505ljg.289.1586438883140; Thu, 09 Apr 2020 06:28:03 -0700 (PDT) Received: from oberon.zico.biz ([83.222.187.186]) by smtp.gmail.com with ESMTPSA id f2sm1067220lfl.18.2020.04.09.06.28.02 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 09 Apr 2020 06:28:02 -0700 (PDT) From: "Tzvetomir Stoyanov (VMware)" To: rostedt@goodmis.org Cc: linux-trace-devel@vger.kernel.org Subject: [PATCH 2/2] trace-cmd: Fix reading of the traceid option from trace.dat file Date: Thu, 9 Apr 2020 16:27:56 +0300 Message-Id: <20200409132756.79402-3-tz.stoyanov@gmail.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20200409132756.79402-1-tz.stoyanov@gmail.com> References: <20200409132756.79402-1-tz.stoyanov@gmail.com> MIME-Version: 1.0 Sender: linux-trace-devel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-trace-devel@vger.kernel.org Due to a copy / paste error, the reading of traceid option from trace.dat file is broken. There is no impact to the user, as this option is not used yet. Signed-off-by: Tzvetomir Stoyanov (VMware) --- lib/trace-cmd/trace-input.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/lib/trace-cmd/trace-input.c b/lib/trace-cmd/trace-input.c index c1531410..f04528ae 100644 --- a/lib/trace-cmd/trace-input.c +++ b/lib/trace-cmd/trace-input.c @@ -2554,8 +2554,10 @@ static int handle_options(struct tracecmd_input *handle) trace_pid_map_load(handle, buf); break; case TRACECMD_OPTION_TRACEID: + if (size != 8) + break; handle->trace_id = tep_read_number(handle->pevent, - &cpus, 8); + buf, 8); break; case TRACECMD_OPTION_GUEST: trace_guest_load(handle, buf, size);