From patchwork Mon Mar 18 19:11:48 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Toms Atteka X-Patchwork-Id: 1058056 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (mailfrom) smtp.mailfrom=openvswitch.org (client-ip=140.211.169.12; helo=mail.linuxfoundation.org; envelope-from=ovs-dev-bounces@openvswitch.org; receiver=) Authentication-Results: ozlabs.org; dmarc=fail (p=none dis=none) header.from=gmail.com Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="Kc6dsqH8"; dkim-atps=neutral Received: from mail.linuxfoundation.org (mail.linuxfoundation.org [140.211.169.12]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 44NQnH4Qldz9s3q for ; Tue, 19 Mar 2019 06:13:07 +1100 (AEDT) Received: from mail.linux-foundation.org (localhost [127.0.0.1]) by mail.linuxfoundation.org (Postfix) with ESMTP id 052402D6F; Mon, 18 Mar 2019 19:13:05 +0000 (UTC) X-Original-To: dev@openvswitch.org Delivered-To: ovs-dev@mail.linuxfoundation.org Received: from smtp1.linuxfoundation.org (smtp1.linux-foundation.org [172.17.192.35]) by mail.linuxfoundation.org (Postfix) with ESMTPS id B8C472C0D for ; Mon, 18 Mar 2019 19:11:55 +0000 (UTC) X-Greylist: whitelisted by SQLgrey-1.7.6 Received: from mail-lf1-f65.google.com (mail-lf1-f65.google.com [209.85.167.65]) by smtp1.linuxfoundation.org (Postfix) with ESMTPS id 2B891891 for ; Mon, 18 Mar 2019 19:11:55 +0000 (UTC) Received: by mail-lf1-f65.google.com with SMTP id p1so12484562lfk.9 for ; Mon, 18 Mar 2019 12:11:55 -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; bh=X7sVAB3GZow6TF261HabZsujjrZ5lmtVMVTPdpFdq5E=; b=Kc6dsqH8rJNJcYyO21+QMT2krsxD/PJYiMGt6wdwLXRrOPE/r3un18JFsd292ASxdA Hjv7n4rNUxNve5TUfr/lAHTZ5htY3++1A8MPybr0IaXxMs+wyj26sXfcgW6y1KcNZk7P 0QU53RaPJd9Lmi47yNPe/okpcXqNmgk9ZqTrM9cKRLt1hi/SOd6vvla3UgKDRhFJSPzr tf5H4+THQmmBDZoOVFR1CeeFZ1DXcFQq7eYDPz32rAad/tez+6gAyS9xJotROyvhKR5Q ILzhQh1n7BxaQIfoj4V88d+WER1XHfPlg+OasLM8szoGzdwmFkuk/9hDTtUod8Fw6c4v hxdA== 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; bh=X7sVAB3GZow6TF261HabZsujjrZ5lmtVMVTPdpFdq5E=; b=akdNdMV7eyRABwmH3+InZEX6kfmwLcDAZaFhCJFKP3HAZ3L5uKBjNX5pqVBNsxbAwo S5UDPzaUOlephAFtmDNspYurWW7Aq43KqsIoFsSB9cK8t9Xcm1uPENGwflFoRdXCIOVH 5V415Ow1qfB4l3BRC4WFRXrBS+geiALci5KbCAPHPHSkK4k3S0uNLlTT5xICMYuGY8cS YK+auPot4JBEht5MZC74p/3nChod8VwouOVZziZmi0YAEDi43tae9656MMwNgrkEJfzt BTYykZ1qFYgffSUxYAqGQ+6oNPreWG1GFR35//q12LTHp9ZgA2mUnO/ujhTcMBdYZ8t5 netw== X-Gm-Message-State: APjAAAVQd5BBXEIcGrLW7Uvs6oPgQas2MiRfaM4rAiMMXppnkCWgJSAq WR6R+pfOONbxh3FfM6zCp8XdQ6/g X-Google-Smtp-Source: APXvYqyFHDw5jatqHmFUg5aKyB8NJkauNi3HULUPdtjhdU91KYyXE7Z8Il2+E2xMu88r0x6DTTtFAg== X-Received: by 2002:a19:968c:: with SMTP id y134mr3346929lfd.140.1552936311925; Mon, 18 Mar 2019 12:11:51 -0700 (PDT) Received: from ubuntu.localdomain ([213.226.141.226]) by smtp.googlemail.com with ESMTPSA id y22sm2267928ljh.12.2019.03.18.12.11.50 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Mon, 18 Mar 2019 12:11:51 -0700 (PDT) From: Toms Atteka To: dev@openvswitch.org Date: Mon, 18 Mar 2019 12:11:48 -0700 Message-Id: <1552936308-28166-1-git-send-email-cpp.code.lv@gmail.com> X-Mailer: git-send-email 2.7.4 X-Spam-Status: No, score=-2.0 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, FREEMAIL_FROM, RCVD_IN_DNSWL_NONE autolearn=ham version=3.3.1 X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on smtp1.linux-foundation.org Cc: Toms Atteka Subject: [ovs-dev] [PATCH] odp-util: added NULL check for error pointer argument X-BeenThere: ovs-dev@openvswitch.org X-Mailman-Version: 2.1.12 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Sender: ovs-dev-bounces@openvswitch.org Errors-To: ovs-dev-bounces@openvswitch.org If NULL value was provided for odp_flow_from_string errorp argument segmentation fault error occurred. This patch fixes it by ignoring error formatting if error pointer is not provided. Reported-at: https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=12972 Signed-off-by: Toms Atteka --- lib/odp-util.c | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/lib/odp-util.c b/lib/odp-util.c index 8bcbd2c..0716161 100644 --- a/lib/odp-util.c +++ b/lib/odp-util.c @@ -5725,7 +5725,9 @@ odp_flow_from_string(const char *s, const struct simap *port_names, struct ofpbuf *key, struct ofpbuf *mask, char **errorp) { - *errorp = NULL; + if (errorp) { + *errorp = NULL; + } const size_t old_size = key->size; struct parse_odp_context context = (struct parse_odp_context) { @@ -5743,7 +5745,9 @@ odp_flow_from_string(const char *s, const struct simap *port_names, ovs_u128 ufid; retval = odp_ufid_from_string(s, &ufid); if (retval < 0) { - *errorp = xasprintf("syntax error at %s", s); + if (errorp) { + *errorp = xasprintf("syntax error at %s", s); + } key->size = old_size; return -retval; } else if (retval > 0) { @@ -5753,7 +5757,9 @@ odp_flow_from_string(const char *s, const struct simap *port_names, retval = parse_odp_key_mask_attr(&context, s, key, mask); if (retval < 0) { - *errorp = xasprintf("syntax error at %s", s); + if (errorp) { + *errorp = xasprintf("syntax error at %s", s); + } key->size = old_size; return -retval; }