From patchwork Thu Mar 31 19:37:01 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Dmitry Chestnyh X-Patchwork-Id: 52546 Return-Path: X-Original-To: patchwork@sourceware.org Delivered-To: patchwork@sourceware.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id B4391383982E for ; Thu, 31 Mar 2022 19:37:19 +0000 (GMT) X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from mxout03.lancloud.ru (mxout03.lancloud.ru [45.84.86.113]) by sourceware.org (Postfix) with ESMTPS id 6B4D13858430 for ; Thu, 31 Mar 2022 19:37:05 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 6B4D13858430 Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=omp.ru Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=omp.ru Received: from LanCloud DKIM-Filter: OpenDKIM Filter v2.11.0 mxout03.lancloud.ru 68BA020EA8D3 Received: from LanCloud Received: from LanCloud Received: from LanCloud From: Dmitry Chestnyh To: Subject: [PATCH] [locale] Corrected return value check. Date: Thu, 31 Mar 2022 22:37:01 +0300 Message-ID: <20220331193701.493824-1-d.chestnyh@omp.ru> X-Mailer: git-send-email 2.25.1 MIME-Version: 1.0 X-Originating-IP: [192.168.11.198] X-ClientProxiedBy: LFEXT01.lancloud.ru (fd00:f066::141) To LFEX1912.lancloud.ru (fd00:f066::166) X-Spam-Status: No, score=-13.9 required=5.0 tests=BAYES_00, GIT_PATCH_0, KAM_DMARC_STATUS, SPF_HELO_NONE, SPF_PASS, TXREP, T_SCC_BODY_TEXT_LINE, UNPARSEABLE_RELAY autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org X-BeenThere: libc-alpha@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Dmitry Chestnyh Errors-To: libc-alpha-bounces+patchwork=sourceware.org@sourceware.org Sender: "Libc-alpha" strtol returns LONG_MAX or LONG_MIN on ERANGE error. This issue was found by SVACE static analyzer. --- locale/programs/ld-collate.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/locale/programs/ld-collate.c b/locale/programs/ld-collate.c index 992814491d..751435a900 100644 --- a/locale/programs/ld-collate.c +++ b/locale/programs/ld-collate.c @@ -1344,12 +1344,12 @@ order for `%.*s' already defined at %s:%Zu"), errno = 0; from = strtol (startp->name + preflen, &cp, base); - if ((from == UINT_MAX && errno == ERANGE) || *cp != '\0') + if (((from == LONG_MAX || from == LONG_MIN ) && errno == ERANGE) || *cp != '\0') goto invalid_range; errno = 0; to = strtol (endp->name + preflen, &cp, base); - if ((to == UINT_MAX && errno == ERANGE) || *cp != '\0') + if (((to == LONG_MAX || to == LONG_MIN ) && errno == ERANGE) || *cp != '\0') goto invalid_range; /* Copy the prefix. */