DMARC-Filter: OpenDMARC Filter v1.4.2 delorie.com 53CGbs5M164174 Authentication-Results: delorie.com; dmarc=pass (p=none dis=none) header.from=cygwin.com Authentication-Results: delorie.com; spf=pass smtp.mailfrom=cygwin.com DKIM-Filter: OpenDKIM Filter v2.11.0 delorie.com 53CGbs5M164174 Authentication-Results: delorie.com; dkim=pass (1024-bit key, unprotected) header.d=cygwin.com header.i=@cygwin.com header.a=rsa-sha256 header.s=default header.b=E8rceJMB X-Recipient: archive-cygwin AT delorie DOT com DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org BA148384D154 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cygwin.com; s=default; t=1744475872; bh=TL/jdeSxXufKn8TNRUu++sqvTqhNUliTr5vsIh/4reI=; h=Subject:To:References:Date:In-Reply-To:List-Id:List-Unsubscribe: List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To:Cc: From; b=E8rceJMBTGJ/YZglEir9NCnYJpNUOzkCNA058IvD6mlfus6QC+wfDhy44gPhmhTcz 3lNTtY9NWIs/87G1ZOmRB6zhX7IaZk/B1VUHwpglL6ztFAJU/eSmkgTVIiTSZzjOKW 3ueehCjkNXiwZj0CKQCXvjrxdDkT4sC++3PFoiXA= X-Original-To: cygwin AT cygwin DOT com Delivered-To: cygwin AT cygwin DOT com DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 5FDF63858D26 ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 5FDF63858D26 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1744475845; cv=none; b=W2wlYjvfGsslRx4dYZpfd7kzD+iP/ynEKlS/SOAJQ7UQQjJnuQJMlC9guX4kJPxDXxOMFOpJtBQSi0LgpOpSGDi3dmXkxFisOwU+1vBk7Yyc0bhU4C9QIZF2CDUvrIIYykxnTiVoW6P3aW5NoX5JkjmL/FkRlwZ7S9KrCpCYWt0= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1744475845; c=relaxed/simple; bh=qy5YQj8uhxCIVSAFU6ROb/rYMduLJSF7L0sJbNMK8yU=; h=Subject:To:From:Message-ID:Date:MIME-Version; b=h0qMbvmP0c7K2LSYun0x49C5cEyuualfrLDYm0JvupZ2Ywajjn54kPSIfu2hAjByDdctZ5+fGAdHIORAf77gsnqHSppAG5TNfMMGusgdYGV0QTAyaVGgMHJp64dRN7MslEasEWQAQgZ8Wi5KzKJxzf3SVmHSrLCJ0Z+D9YAeeac= ARC-Authentication-Results: i=1; server2.sourceware.org DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 5FDF63858D26 Subject: Re: cygstart: buffer overflow when a URI is passed (cygutils-1.4.17-[23]) To: cygwin AT cygwin DOT com References: <502f1b04-bc0e-4aba-b150-7b9ea3c5ba3b AT gmail DOT com> Message-ID: Date: Sat, 12 Apr 2025 18:37:23 +0200 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:128.0) Gecko/20100101 SeaMonkey/2.53.20 MIME-Version: 1.0 In-Reply-To: <502f1b04-bc0e-4aba-b150-7b9ea3c5ba3b@gmail.com> X-TOI-EXPURGATEID: 150726::1744475843-35FE8509-C3B63CE4/0/0 CLEAN NORMAL X-TOI-MSGID: 1316e9de-46ce-4b2d-b6a1-e225f511ee91 X-BeenThere: cygwin AT cygwin DOT com X-Mailman-Version: 2.1.30 Precedence: list List-Id: General Cygwin discussions and problem reports List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , From: Christian Franke via Cygwin Reply-To: cygwin AT cygwin DOT com Cc: Christian Franke Content-Type: text/plain; charset="utf-8"; Format="flowed" Errors-To: cygwin-bounces~archive-cygwin=delorie DOT com AT cygwin DOT com Sender: "Cygwin" Content-Transfer-Encoding: 8bit X-MIME-Autoconverted: from base64 to 8bit by delorie.com id 53CGbs5M164174 ggl329 via Cygwin wrote: > Hi all, > > I've encountered a possible bug in cygstart. > It seems to abort when a URI is passed to it. > > > $ cygcheck -dc | grep cygutils > cygutils                                1.4.17-3 > $ cygstart https://www.google.com > *** buffer overflow detected ***: terminated > Aborted Possibly no regression but longstanding bug which is now detected thanks to gcc12's __builtin_dynamic_object_size() feature and -D_FORTIFY_SOURCE=3: cygstart.c: cygstart_mbs_to_wcs (const char *mbs_path, wchar_t **wcs_path) {   ...   *wcs_path = (wchar_t *) malloc ((len + 1) * sizeof (wchar_t));   ...   // *** buffer overflow detected *** because the length parameter   // should specify the number of characters instead of bytes:   if (mbstowcs (*wcs_path, mbs_path, (len + 1) * sizeof (wchar_t)) ...   ... } -- Regards, Christian -- Problem reports: https://cygwin.com/problems.html FAQ: https://cygwin.com/faq/ Documentation: https://cygwin.com/docs.html Unsubscribe info: https://cygwin.com/ml/#unsubscribe-simple