From patchwork Fri May 29 18:09:54 2015 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Vadym Kochan X-Patchwork-Id: 478018 X-Patchwork-Delegate: shemminger@vyatta.com Return-Path: X-Original-To: patchwork-incoming@ozlabs.org Delivered-To: patchwork-incoming@ozlabs.org Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id C6E5E140F98 for ; Sat, 30 May 2015 04:11:01 +1000 (AEST) Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b=EclbviIw; dkim-atps=neutral Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1756295AbbE2SK6 (ORCPT ); Fri, 29 May 2015 14:10:58 -0400 Received: from mail-la0-f49.google.com ([209.85.215.49]:34637 "EHLO mail-la0-f49.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752882AbbE2SK4 (ORCPT ); Fri, 29 May 2015 14:10:56 -0400 Received: by laat2 with SMTP id t2so61709841laa.1 for ; Fri, 29 May 2015 11:10:54 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=from:to:cc:subject:date:message-id; bh=R6FSOWQMZcyu20o+7+84mcrXuGfg3crLMMpeEFnIWOs=; b=EclbviIwip6jGoK1N7Nj+KyNQOVjd+SdKvRXLPkkExiDsqomdzpjIKQ7VD6mp0+KFF YfKdmrt7oqbEBbFGHvG/wOlExE590YxZE5afcEFpUy63pBXiovk6wPtnxB8SPaGli0Km xTRWDW/ke/IELjjge14gvFhvkt1GzZMCDHKd3Ugb7VKMTUgJV/i7xVCdCnmWA41Jegc+ 8VbgLujG4dQ60XPy0FMTvmmbTDEA5GHlG9RXVOnucerjtrrzvxdVdLIcfEWVxZ87AXFz BYVVfktriI/iVglx3LtKj0BEnX8PIImzAouQnp9A6CYI5TechRv5fMs1NXgBr4KQdslN y5Mg== X-Received: by 10.112.159.162 with SMTP id xd2mr9101157lbb.67.1432923054941; Fri, 29 May 2015 11:10:54 -0700 (PDT) Received: from localhost.localdomain (121-43-207-82.ip.ukrtel.net. [82.207.43.121]) by mx.google.com with ESMTPSA id oy3sm1633040lbb.1.2015.05.29.11.10.53 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Fri, 29 May 2015 11:10:54 -0700 (PDT) From: Vadim Kochan To: netdev@vger.kernel.org Cc: eric.dumazet@gmail.com, daniel@iogearbox.net, jose.r.guzman.mosqueda@intel.com, Vadim Kochan Subject: [PATCH iproute2 v2] ss: Fix allocation of cong control alg name Date: Fri, 29 May 2015 21:09:54 +0300 Message-Id: <1432922994-13735-1-git-send-email-vadim4j@gmail.com> X-Mailer: git-send-email 2.3.1 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org From: Vadim Kochan Used 16 char array for cong alg name instead of malloc. Fixes: 8250bc9ff4e5 ("ss: Unify inet sockets output") Reported-by: Jose R. Guzman Mosqueda Signed-off-by: Vadim Kochan --- v2: Used 16 byte array for cong alg name instead of malloc suggested by Eric Dumazet misc/ss.c | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/misc/ss.c b/misc/ss.c index 347e3a1..0bab8a2 100644 --- a/misc/ss.c +++ b/misc/ss.c @@ -755,7 +755,7 @@ struct tcpstat int timer; int timeout; int probes; - char *cong_alg; + char cong_alg[16]; double rto, ato, rtt, rttvar; int qack, cwnd, ssthresh, backoff; double send_bps; @@ -1664,7 +1664,7 @@ static void tcp_stats_print(struct tcpstat *s) printf(" ecnseen"); if (s->has_fastopen_opt) printf(" fastopen"); - if (s->cong_alg) + if (s->cong_alg[0]) printf(" %s", s->cong_alg); if (s->has_wscale_opt) printf(" wscale:%d,%d", s->snd_wscale, s->rcv_wscale); @@ -1907,9 +1907,9 @@ static void tcp_show_info(const struct nlmsghdr *nlh, struct inet_diag_msg *r, } if (tb[INET_DIAG_CONG]) { - const char *cong_attr = rta_getattr_str(tb[INET_DIAG_CONG]); - s.cong_alg = malloc(strlen(cong_attr + 1)); - strcpy(s.cong_alg, cong_attr); + strncpy(s.cong_alg, + rta_getattr_str(tb[INET_DIAG_CONG]), + sizeof(s.cong_alg) - 1); } if (TCPI_HAS_OPT(info, TCPI_OPT_WSCALE)) { @@ -1984,8 +1984,6 @@ static void tcp_show_info(const struct nlmsghdr *nlh, struct inet_diag_msg *r, tcp_stats_print(&s); if (s.dctcp) free(s.dctcp); - if (s.cong_alg) - free(s.cong_alg); } }