From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-pf1-x42f.google.com (mail-pf1-x42f.google.com [IPv6:2607:f8b0:4864:20::42f]) by sourceware.org (Postfix) with ESMTPS id 18F6D386103B for ; Wed, 3 Jul 2024 06:12:52 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 18F6D386103B 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 18F6D386103B Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=2607:f8b0:4864:20::42f ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1719987173; cv=none; b=F+TQUpbDRte0HuDegncOyteveUGe4gmKT7/bVaUnT2rBgHo01spffltqt6BXN3h95ITSIsy+mWIibNW3trHDFgT+WUJeN4d/dVNtPF2ymlocePjH5YU00zUFguJLdjPLwZE3M/yDuxQmisqrLHyp7ZFumxxV19hUnKrmW08LAl4= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1719987173; c=relaxed/simple; bh=skdZnuOY1jXhjDFA8Zh6Ni4plg7tvBSh/KZsppXi2tw=; h=DKIM-Signature:Date:From:To:Subject:Message-ID:MIME-Version; b=JYRISnsyTKfryD+iifnG2VUiRWY1eqatqqgYwGC/z++3SLeSv0MqiRbUQAF8o9B+lHXWALr3OcZVSSqAbPEkIYPqO563pIAmfwioHd/Kv43ZTWJnxGyP3ggvr9PFPTb1R0gD0puKR+2O3JQwLZBA8Dt7lZnWBP/U80kp/P3BMjQ= ARC-Authentication-Results: i=1; server2.sourceware.org Received: by mail-pf1-x42f.google.com with SMTP id d2e1a72fcca58-70af22a9c19so22059b3a.2 for ; Tue, 02 Jul 2024 23:12:52 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1719987171; x=1720591971; darn=sourceware.org; h=content-disposition:mime-version:message-id:subject:to:from:date :from:to:cc:subject:date:message-id:reply-to; bh=xoJSZ8QDEj4gCk4aH503+jCmJFABQYZukak+scneQZQ=; b=lgjSGjUyFQd1z5cPXCKHPccRitBg5ouCVJJlsWL9O98QGlgQlcSmXJnuJl0+OtaprW KI15ADe5pIWX9TzqJKKPTGpRmyVt+5mzdODOHfexa+JiViov37ui4v9MbKfMV6wjX766 usKoE2KAhdr/4Bq8zc/dpwSmnzR8zk9V6UXTWoAKCPpY5e4uMJ3mVcBQfHD3zxP69D8U p6my+6NqlBaQIZm+nX8dnHqWU8EuCP2wIlSjRjTGovXbZ1LqpGzNxsU+3k+SxsTOyD1q sr0ZehQpNAEfz9xFmcMiGIWkgXqyQwiqj0XHQX2yLTS0V1k2SBAx8xXSBaRNgyGNis7M qibA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1719987171; x=1720591971; h=content-disposition:mime-version:message-id:subject:to:from:date :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=xoJSZ8QDEj4gCk4aH503+jCmJFABQYZukak+scneQZQ=; b=tVDtAiS7ycDE0p+9x5vZ2Wbl9MErULXwUnIY2BuZVWwXVmnj1cLumwiJJ2pptW7wpa 8yGEgtETv2JXjj0wMadGAU0iCkPjZKfcf85CvVQiWfwxx7uS/iGTvwINMRXYFHC4kh81 BJYFleKW//z5kg9YbplCeRv6FaIE8NoE7/tq3Q4+FL+oj3442xxqYdINLC4UhWCXj0jO J+41cjBqoSbcvmoMghG0VPqkYyZvXY5JAxdmB5Xvb9jT3NaupnS4Nox1fIqnOjjJ3fua ywyBjzk0qC1CP5bcZb/dZq2Je5XL8qmDNDGVrfbYWQ56EwWqKsCc19GvndiOKt2AMUhy tu7w== X-Gm-Message-State: AOJu0YzXtsKEQBoouaqtcINd3KbkDt9YeW0fUChFRuMKLrdrIJO4Woyc NYdtig/eMRBrw69Sqa3e7QeFvjZi6h0U4wUf+79jb7IhnOqqzDxT2fvsCQ== X-Google-Smtp-Source: AGHT+IF60tFy/8CAc/W6LPsb5NSPcazK0h9bgF5c23FgV4QSAl2YW6HeAXotjJrhRLwAn2ZzfoZPiA== X-Received: by 2002:a05:6a00:b82:b0:708:11f:d151 with SMTP id d2e1a72fcca58-70aaad6214fmr14719705b3a.16.1719987170624; Tue, 02 Jul 2024 23:12:50 -0700 (PDT) Received: from squeak.grove.modra.org ([2406:3400:51d:8cc0:787a:1081:42a4:e1d1]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-70803ecf63esm9543130b3a.123.2024.07.02.23.12.49 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 02 Jul 2024 23:12:50 -0700 (PDT) Received: by squeak.grove.modra.org (Postfix, from userid 1000) id DDD441140CAE; Wed, 3 Jul 2024 15:42:47 +0930 (ACST) Date: Wed, 3 Jul 2024 15:42:47 +0930 From: Alan Modra To: binutils@sourceware.org Subject: Avoid possible signed overflow in decode_local_label_name Message-ID: MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline X-Spam-Status: No, score=-3032.9 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FREEMAIL_FROM,GIT_PATCH_0,RCVD_IN_DNSWL_NONE,SPF_HELO_NONE,SPF_PASS,TXREP autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: This avoids signed overflow in the "10 * x + *p - '0'" expressions. Matches what both fb_label_name and dollar_label_name use. * symbols.c (decode_local_label_name): Use unsigned variables. diff --git a/gas/symbols.c b/gas/symbols.c index b57dbfc64f4..fa3aaa37ed4 100644 --- a/gas/symbols.c +++ b/gas/symbols.c @@ -2185,11 +2185,11 @@ decode_local_label_name (char *s) { char *p; char *symbol_decode; - int label_number; - int instance_number; + unsigned int label_number; + unsigned int instance_number; const char *type; const char *message_format; - int lindex = 0; + unsigned int lindex = 0; #ifdef LOCAL_LABEL_PREFIX if (s[lindex] == LOCAL_LABEL_PREFIX) @@ -2212,7 +2212,7 @@ decode_local_label_name (char *s) for (instance_number = 0, p++; ISDIGIT (*p); ++p) instance_number = (10 * instance_number) + *p - '0'; - message_format = _("\"%d\" (instance number %d of a %s label)"); + message_format = _("\"%u\" (instance number %u of a %s label)"); symbol_decode = notes_alloc (strlen (message_format) + 30); sprintf (symbol_decode, message_format, label_number, instance_number, type); -- Alan Modra