Received: by 2002:a05:6a10:f3d0:0:0:0:0 with SMTP id a16csp126519pxv; Wed, 30 Jun 2021 01:28:03 -0700 (PDT) X-Google-Smtp-Source: ABdhPJwmc+sIFG7j03hPye9gJvjSaTdTzXFxElRMjiRqD57d6Zw3vltg5C/f5jreCQPQ7qfpqcGp X-Received: by 2002:a5d:858b:: with SMTP id f11mr7178921ioj.156.1625041683475; Wed, 30 Jun 2021 01:28:03 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1625041683; cv=none; d=google.com; s=arc-20160816; b=hLcFBVshd4L583UOy1enl93XoeswmMXtn0Rt2SgVIPU2WsXGttfJlltn0sgfBm2IY0 ZBs07js5FiGj1Q4+aByUmJC9QNuljEySi6yK70nOU4qcGngXyT3BLiRGyHdbSxpsv8D5 l5hrU0rjnCUdQcWGzc0ZIxJS6HLdJRBe5bqUTZa5k1MbdZqo6DvK0MgOprVWbHJOTvTU J0JveNjsZVNP425WcUSWLmHyCEStX5tPDzXpSpwHN/rI532MhywUPwhu0fSFxzuaCO5q wNH8sGIQ8EvtXQO5XBrRMt3LaKMpZVw1jyLenVBRbRMWoksg1WPntRxWSY/XdnANlA0/ V+aA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from; bh=1D7ijmGstBT1oJC+SF0MaX4UBmKPqBc/+V0S6ibAMsU=; b=Do5c1mKejpOZ7vYNuChs2/cTeq5g7TejHCbm8SMXPtSwKxRwgm9l/iNxQU93umMOls JaGRImsGGhyXHuoNWpU8LHeUaBZOJGeIVyEfq+ILMclclSmdw0eYyqVXeEmAIoTWQs3m lJiCXi0tuwR2HQyysn7ZliahcZfOs5FBaWUp0Ayhgn8P4oM0m/BP8TekwNKTf6bwjQGX Tb18b31zgpgsLUqfWSapH2FyQbH4ZITdeepkBj6VaEnR/WDEhhxXVsyAmBLS3ijFqASM qBkzuiKip8jIzk8UTqZ8j80NIn10ckm+eGFDZQFKiJpxIGCstaMj2JVHldZmEKhmo7mU +DGg== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-ext4-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-ext4-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=huawei.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id b7si14228621jat.31.2021.06.30.01.27.49; Wed, 30 Jun 2021 01:28:03 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-ext4-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-ext4-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-ext4-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=huawei.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S233085AbhF3IaD (ORCPT + 99 others); Wed, 30 Jun 2021 04:30:03 -0400 Received: from szxga08-in.huawei.com ([45.249.212.255]:9301 "EHLO szxga08-in.huawei.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233089AbhF3IaD (ORCPT ); Wed, 30 Jun 2021 04:30:03 -0400 Received: from dggemv704-chm.china.huawei.com (unknown [172.30.72.53]) by szxga08-in.huawei.com (SkyGuard) with ESMTP id 4GFDps6rhvz1BTPH for ; Wed, 30 Jun 2021 16:22:13 +0800 (CST) Received: from dggpemm500014.china.huawei.com (7.185.36.153) by dggemv704-chm.china.huawei.com (10.3.19.47) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2176.2; Wed, 30 Jun 2021 16:27:33 +0800 Received: from huawei.com (10.175.104.170) by dggpemm500014.china.huawei.com (7.185.36.153) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2176.2; Wed, 30 Jun 2021 16:27:32 +0800 From: wuguanghao To: , CC: , , Subject: [PATCH v2 06/12] append_pathname: check the value returned by realloc Date: Wed, 30 Jun 2021 16:27:18 +0800 Message-ID: <20210630082724.50838-7-wuguanghao3@huawei.com> X-Mailer: git-send-email 2.27.0 In-Reply-To: <20210630082724.50838-2-wuguanghao3@huawei.com> References: <20210630082724.50838-2-wuguanghao3@huawei.com> MIME-Version: 1.0 Content-Transfer-Encoding: 7BIT Content-Type: text/plain; charset=US-ASCII X-Originating-IP: [10.175.104.170] X-ClientProxiedBy: dggems706-chm.china.huawei.com (10.3.19.183) To dggpemm500014.china.huawei.com (7.185.36.153) X-CFilter-Loop: Reflected Precedence: bulk List-ID: X-Mailing-List: linux-ext4@vger.kernel.org In append_pathname(), we need to add a new path to save the value returned by realloc, otherwise the name->path may be NULL, causing segfault Signed-off-by: Wu Guanghao Signed-off-by: Zhiqiang Liu --- contrib/fsstress.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/contrib/fsstress.c b/contrib/fsstress.c index 2a983482..07433205 100644 --- a/contrib/fsstress.c +++ b/contrib/fsstress.c @@ -599,7 +599,7 @@ void add_to_flist(int ft, int id, int parent) void append_pathname(pathname_t * name, char *str) { int len; - + char *path; len = strlen(str); #ifdef DEBUG if (len && *str == '/' && name->len == 0) { @@ -609,7 +609,13 @@ void append_pathname(pathname_t * name, char *str) } #endif - name->path = realloc(name->path, name->len + 1 + len); + path = realloc(name->path, name->len + 1 + len); + if (path == NULL) { + fprintf(stderr, "fsstress: append_pathname realloc failed\n"); + chdir(homedir); + abort(); + } + name->path = path; strcpy(&name->path[name->len], str); name->len += len; } -- 2.19.1