From patchwork Thu Dec 14 14:20:05 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: James Tirta Halim X-Patchwork-Id: 82145 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 8C8F73861833 for ; Thu, 14 Dec 2023 14:24:23 +0000 (GMT) X-Original-To: libc-alpha@sourceware.org Delivered-To: libc-alpha@sourceware.org Received: from mail-pl1-x62b.google.com (mail-pl1-x62b.google.com [IPv6:2607:f8b0:4864:20::62b]) by sourceware.org (Postfix) with ESMTPS id 829743858C2C for ; Thu, 14 Dec 2023 14:24:09 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 829743858C2C Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=gmail.com ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 829743858C2C Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=2607:f8b0:4864:20::62b ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1702563851; cv=none; b=VblFd1OsFZ7g9RfWOaop7PabjlrHG4xhjlq50607KPKwKh2VYoggjsX74WM+zUBfnePIUfROhmsFgsjEdmBkIKefyd7+KDKzwkIlgXysJwiC9JGdQ1Ur33fWyCkX4fcDLDpVNCXWrp2V4vjmVeVrokbu97myp1+napw3hEuYTDQ= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1702563851; c=relaxed/simple; bh=Sno3xVhIp2YfzsfQZYBmC8658+kKpafRVu+RMoH2vn8=; h=DKIM-Signature:From:To:Subject:Date:Message-ID:MIME-Version; b=brOrKz/kF76gZLUnVk+Pj1xrZ2EOtetnUGdweyzoTKPR0fRM1aBrPUTxr0zX8VGov8bGtOo3gY9hQzjkRpXiv3gkR8Jgs9ja7c8Km3axGuYpZFqH/uxnHCU8gptKfRjoIAba6g947o3Z0i1n7HSr09GindhLMt3Uj5ajLpe88+U= ARC-Authentication-Results: i=1; server2.sourceware.org Received: by mail-pl1-x62b.google.com with SMTP id d9443c01a7336-1d35dc7e1bbso14621915ad.1 for ; Thu, 14 Dec 2023 06:24:09 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1702563847; x=1703168647; darn=sourceware.org; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=MnXOpk5hReCV6qhr9WgvkHszrvMiPBuTVZPD+aCAvMc=; b=MlGl2E6JVe5d15UFjweaZmU0NH0k2DNNZ7UHUVX3yq9ZAGOAhud6J9hDjpuf3bpYbK 4B5avZruQePGHpSXP5HEZnqT7XbmtTHvK2wETaAdKT0tmo3J+4kbWWs61RmsEo8asxap o/UlO2//j3oRT3/yskj5ipjlEtwIQwUorgTH8THWQdAtOjUGyij/OGj3Wz94yCB5iLJz s4JZfn7OrOt0L+oUDLK10YSTrG1UhsU32CTp7+e0jLTfm0duMpwx7T7VcaT72eDOf1gq tLW0RXe7RDLEIuf8V0Oqq4kNTgjwlnJ/m1pzzNRt08tIV/ElKnk+ozUCK8dxlRjLhap6 IpUQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1702563847; x=1703168647; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=MnXOpk5hReCV6qhr9WgvkHszrvMiPBuTVZPD+aCAvMc=; b=ii3jZRAeS6cLvf+ydiOvy30jCPUHH8fXoFfumi9L4iBKrd8HrEwzqpqsKnGiQsW+1X nTvtA72EtYLPysDiuOfr/f74fnFGc+Gw7lJfimQovFRluahaC60ea+TpqgDZhhYDql3a 1rkiQM+G4gcKdHuDBWMzkMXrhQaG4IFOd68NMHA6BabQu9FwTTHOPL26qU/CK/+p8F4/ hrrPw8EEwLT6ZOu1VXuCXQuAw6mKovsNaGgpuFyYgkds4lwn5YToYWV3FdkeaIjKH2mQ GNduJTP7jyP8LmBqgom9foLN8gOYxV0dDi8TVwSqQMWcnp0oqTua6vzXl4mWF2D+eI0i H4IA== X-Gm-Message-State: AOJu0YzwORuZO0EoFdUcdq+Yjbv+WD9DGk6lvHLllKdpTPsOgCf1WZ6Y V09hYNE3CucCqoQQjkL3fFYoQq5UJE7VVQ== X-Google-Smtp-Source: AGHT+IGU3T2lsRwKoXRHTUznOsHOC54+QzTfojF1XA7RZ9g8Or4d5f9etlOgBGnmCYJNWBqDflbB0w== X-Received: by 2002:a17:902:6845:b0:1d3:4d81:25bc with SMTP id f5-20020a170902684500b001d34d8125bcmr2565763pln.97.1702563846989; Thu, 14 Dec 2023 06:24:06 -0800 (PST) Received: from localhost.localdomain ([2001:448a:20a0:5ec:16dc:2257:aa0b:ab86]) by smtp.gmail.com with ESMTPSA id j18-20020a170902c3d200b001d35e9471absm2231230plj.195.2023.12.14.06.24.05 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 14 Dec 2023 06:24:06 -0800 (PST) From: James Tirta Halim To: libc-alpha@sourceware.org Cc: James Tirta Halim Subject: [PATCH] memmem.c, strstr.c: use unsigned int instead of size_t for small needles Date: Thu, 14 Dec 2023 21:20:05 +0700 Message-ID: <20231214142005.48670-1-tirtajames45@gmail.com> X-Mailer: git-send-email 2.43.0 MIME-Version: 1.0 X-Spam-Status: No, score=-11.9 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, FREEMAIL_ENVFROM_END_DIGIT, FREEMAIL_FROM, GIT_PATCH_0, RCVD_IN_DNSWL_NONE, SPF_HELO_NONE, SPF_PASS, TXREP, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org X-BeenThere: libc-alpha@sourceware.org X-Mailman-Version: 2.1.30 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: libc-alpha-bounces+patchwork=sourceware.org@sourceware.org --- string/memmem.c | 10 +++++++--- string/strstr.c | 10 +++++++--- 2 files changed, 14 insertions(+), 6 deletions(-) diff --git a/string/memmem.c b/string/memmem.c index 13df3bcdd4..d5548e5f71 100644 --- a/string/memmem.c +++ b/string/memmem.c @@ -80,9 +80,13 @@ __memmem (const void *haystack, size_t hs_len, return two_way_long_needle (hs, hs_len, ne, ne_len); uint8_t shift[256]; - size_t tmp, shift1; - size_t m1 = ne_len - 1; - size_t offset = 0; + + typedef unsigned int Idx; + _Static_assert (sizeof (shift) / sizeof (shift[0]) == 256 && sizeof (shift[0]) <= sizeof (Idx), "Index type is too small."); + + Idx tmp, shift1; + Idx m1 = ne_len - 1; + Idx offset = 0; memset (shift, 0, sizeof (shift)); for (int i = 1; i < m1; i++) diff --git a/string/strstr.c b/string/strstr.c index 23618e2eb2..132a115214 100644 --- a/string/strstr.c +++ b/string/strstr.c @@ -108,9 +108,13 @@ STRSTR (const char *haystack, const char *needle) const unsigned char *end = hs + hs_len - ne_len; uint8_t shift[256]; - size_t tmp, shift1; - size_t m1 = ne_len - 1; - size_t offset = 0; + + typedef unsigned int Idx; + _Static_assert (sizeof (shift) / sizeof (shift[0]) == 256 && sizeof (shift[0]) <= sizeof (Idx), "Index type is too small."); + + Idx tmp, shift1; + Idx m1 = ne_len - 1; + Idx offset = 0; /* Initialize bad character shift hash table. */ memset (shift, 0, sizeof (shift));