From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on inbox.vuxu.org X-Spam-Level: X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,FREEMAIL_FROM,MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.4 Received: (qmail 26294 invoked from network); 26 Dec 2023 06:06:16 -0000 Received: from zero.zsh.org (2a02:898:31:0:48:4558:7a:7368) by inbox.vuxu.org with ESMTPUTF8; 26 Dec 2023 06:06:16 -0000 ARC-Seal: i=1; cv=none; a=rsa-sha256; d=zsh.org; s=rsa-20210803; t=1703570776; b=AALvA/Sj+YN6cGd2uJtwHe9oDtNAT4bcFk94Y3zEqm9wSw2GYwi1w99yjMWbPGPuVziCVTHL1U NaXu52GttMu1HRvRkERwDNpgRBDI7D/2aTxHpRXU41f0P2F2e2wMG5PiQU2h/ZRybaI1XRMRWb 3RFax8o2NIcc+PWf+I/PpoDhopyCIPtpyQMQXGO8hLjpfBIqZkTFM1qMRLAFr9s0LzdMb3V6Mn IDEsznZajyasiMfRTqoXgUpsfsynPgIbCSXrwbptPELtRx8Jd3lto8CerTQlqauGObBmjgDfZq f7KXO4d89LH+t49ZmfQa4i5tEav8wUBLpzbkQiltapRzDw==; ARC-Authentication-Results: i=1; zsh.org; iprev=pass (mail-pl1-f175.google.com) smtp.remote-ip=209.85.214.175; dkim=pass header.d=gmail.com header.s=20230601 header.a=rsa-sha256; dmarc=pass header.from=gmail.com; arc=none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed; d=zsh.org; s=rsa-20210803; t=1703570776; bh=ILX1z7RHt3F7/CDvzWwQbttxtHGjoduCSymZf7cFh/I=; h=List-Archive:List-Owner:List-Post:List-Unsubscribe:List-Subscribe:List-Help: List-Id:Sender:Content-Transfer-Encoding:MIME-Version:Message-ID:Date: Subject:Cc:To:From:DKIM-Signature:DKIM-Signature; b=sJr2oO6WauAxjDQawQalNHEQYSjd5i2LfUlqisAJkbiS3aUEuKQp6aGnPSI7nDL0TiBKguZX5V Z3yy1l75hhOu1ZAZ5YL0A6dGJTAgogv+wUPcV2lvXuwuao+lIA4FqAOnjZq6iWs4OWBOKmIsu7 wS8+LipJS+cDkVNuY40e3GZmzVS1CteTL3H7I1UEfYf8ptp8j/wUcIMb2JUlSQVTOWxClXUspx jAZWwslKxyqzPuNKIe3gZGdcHQ9vD/4Y6FbqfhWuFQ8/6FR+Lo+05WcFcfLbfYpB0J5QmeSsSV uboATcqqKjsH1GbvZh4w3i16g0o2er8qP2weMF8ycIy4Ng==; DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=zsh.org; s=rsa-20210803; h=List-Archive:List-Owner:List-Post:List-Unsubscribe: List-Subscribe:List-Help:List-Id:Sender:Content-Transfer-Encoding: MIME-Version:Message-ID:Date:Subject:Cc:To:From:Reply-To:Content-Type: Content-ID:Content-Description:Resent-Date:Resent-From:Resent-Sender: Resent-To:Resent-Cc:Resent-Message-ID:In-Reply-To:References; bh=cJjhspjG5SkIwahMl6M87CSbYCeSMxMo812dm33nV8M=; b=QMlE5ZfqUj6woQMHukIOshTvg4 kEZHPxdgueUd2afDJ8IuV2i84sexTvn2FZCxAjh94T9NWKn/TV/gNit7AIwxuk4frdIPHZP7hB3KQ vfkDT3gzw/gcnOWoQ7vqKTirQjzt+8FG/xgrCZXuj67p+ZCAEyrJq8Hq/hB2mqyH5ZSZlb9TeEBT8 MnGWgU784Cz019xsKh5fL/YeM+kDvo6EPzSlsqLYvOV6Z5rlH6+5fD6M5yS6CXztlAl8MmW5hiQ8z 9nn41WzlFsuAokHsdby7HC+IkJoBiUGz2WzkJ/L2fsYlEXe/u7gJH8DSxkyxH53nFa/97SHGuHEFS /xEhM4cg==; Received: by zero.zsh.org with local id 1rI0Zz-000GE4-H2; Tue, 26 Dec 2023 06:06:15 +0000 Authentication-Results: zsh.org; iprev=pass (mail-pl1-f175.google.com) smtp.remote-ip=209.85.214.175; dkim=pass header.d=gmail.com header.s=20230601 header.a=rsa-sha256; dmarc=pass header.from=gmail.com; arc=none Received: from mail-pl1-f175.google.com ([209.85.214.175]:48373) by zero.zsh.org with esmtps (TLS1.3:TLS_AES_128_GCM_SHA256:128) id 1rI0Zm-000Fuh-OH; Tue, 26 Dec 2023 06:06:03 +0000 Received: by mail-pl1-f175.google.com with SMTP id d9443c01a7336-1d408d0bb87so29255995ad.0 for ; Mon, 25 Dec 2023 22:06:02 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1703570760; x=1704175560; darn=zsh.org; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=cJjhspjG5SkIwahMl6M87CSbYCeSMxMo812dm33nV8M=; b=TfOwR1OaZYiV4hb9tqSrKJcR9MQFm3hOSeJ9xjpKofRipCyfGlVmS8NYDQK41gy8fV gdw9+FJuMnh9Ep2xG2RDgUch97IfijuAyQW6Pxpz6c/jENwnAQlF2tQWRDmv9um6qC2+ 1ELLt7yDUUMPlzIE+XkpiQw0dC+CJ7ryBa49offxBoatHBI9Nau2wWTcHfkP+e2fy48z 1r+KwsHUODkHWNAOGuc4gkcAsVHLJgZNnGFuITMn7ghzw9LOc6hP7fC+zoOsGAlBn56/ ZkH8iy2D33BiSIr4PKOqqPZo1VukCZE7MBj1sXeOB+Ic6mqY4XwKc9kyguGDgLtccqKY 5/Pg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1703570760; x=1704175560; 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=cJjhspjG5SkIwahMl6M87CSbYCeSMxMo812dm33nV8M=; b=ZhqifOjhHe51u0DkxlbijCZrv4VqXLX3KrxkEbJhRS9U192pRR6U7cKbe5UmsBGzV/ v0fbn6wzyvYyUmNwq0DPPjfnEkN48HQdZZtfCmbCMKba/5ZA3Bw90Y9vwQN/Rtyi2O4h hOeAlqe8/Wk3yGPlCTsGgpHesgKoMvwcUJv9XMyYE8JS/yTeEkTG/8g2yt7T7g/JUJ9f Qe9MZ5RxnihlQFMHDJDCstO0rAH11H6dtZKYQSjod52qGfR6RuvkQ/pfC+8RWv8bTQzo pzmnjbDjJ6+/KnDqmba71PsfaWs7ZFZJasThYSE/31bHFCKGmWVpvDCWbtF5fJv9NjeL 5R1Q== X-Gm-Message-State: AOJu0YxXxki1N866dedLzcHpoiYcDsj4R1Hakq5mbEBKHiXqGPTc/0zC Ijz3+gn1mK3wt0BN3M3o1c5wu2WtisZC/w== X-Google-Smtp-Source: AGHT+IGHOdYoTvO/gXWroOuvAW3TbA3m9DgFVztnEThVf4a2wfpgOPYvMvFTPOmBBPm7xyvZkSXeqQ== X-Received: by 2002:a17:903:11c8:b0:1d3:f3d2:c172 with SMTP id q8-20020a17090311c800b001d3f3d2c172mr8403927plh.111.1703570760058; Mon, 25 Dec 2023 22:06:00 -0800 (PST) Received: from localhost.localdomain ([2001:448a:20a0:cc01:c8fd:1cb7:3a8e:cad7]) by smtp.gmail.com with ESMTPSA id u11-20020a17090282cb00b001d398889d4dsm9142605plz.127.2023.12.25.22.05.58 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 25 Dec 2023 22:05:59 -0800 (PST) From: James Tirta Halim To: zsh-workers@zsh.org Cc: James Tirta Halim Subject: [PATCH v2] string.c: remove use of strcat() after strlen() Date: Tue, 26 Dec 2023 13:01:59 +0700 Message-ID: <20231226060159.182340-1-tirtajames45@gmail.com> X-Mailer: git-send-email 2.43.0 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Seq: 52432 Archived-At: X-Loop: zsh-workers@zsh.org Errors-To: zsh-workers-owner@zsh.org Precedence: list Precedence: bulk Sender: zsh-workers-request@zsh.org X-no-archive: yes List-Id: List-Help: , List-Subscribe: , List-Unsubscribe: , List-Post: List-Owner: List-Archive: Changes in v2: return the realloc'd string --- Src/string.c | 8 ++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/Src/string.c b/Src/string.c index 5f439926e..99e31d6c3 100644 --- a/Src/string.c +++ b/Src/string.c @@ -28,6 +28,8 @@ #include "zsh.mdh" +#define MEMPCPY(dst, src, n) ((char *)memcpy(dst, src, n) + n) + /**/ mod_export char * dupstring(const char *s) @@ -200,7 +202,10 @@ ztrduppfx(const char *s, int len) mod_export char * appstr(char *base, char const *append) { - return strcat(realloc(base, strlen(base) + strlen(append) + 1), append); + const size_t base_len = strlen(base); + const size_t append_len = strlen(append); + base = realloc(base, base_len + append_len + 1); + *(char *)MEMPCPY(base + base_len, append, append_len) = '\0'; + return base; } /* Return a pointer to the last character of a string, -- 2.43.0