X-Authentication-Warning: delorie.com: mail set sender to djgpp-bounces using -f X-Recipient: djgpp AT delorie DOT com X-Original-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=subject:to:references:from:openpgp:autocrypt:message-id:date :user-agent:mime-version:in-reply-to:content-language :content-transfer-encoding; bh=ZFvwYjsRkeEAXza7/S66wPtzd1Zg7vdxA8Kxqx7HnGA=; b=DEzwhP4v7PkzK7BJveqWp7z7Txy6Oxng3sYfl6LlTzwLgJodAu1ZQl8x7DrH4+9ekY oEQur0MVns0r+pEbYbGSIVtwoidgypY6eJKIpaiRP0W2Sl8njEtYLHcD4TJmksMCZDXw 52SRGXddpRUN51cF3j3XxUQwUYD4AX0Nhkh/qOCdwT95v94JvXi4ySEHbYXIQv42U6zq ccX7/IjuRLMYPlomv0CQUoY9hYVOdWRQALV0tP9ASjnXIh7hgAYDvAKYS7OvHrpDspk4 K+/vQkBmpO0Bo8Ijmu+yX4Sd6lweLThbhoneFUghoGrpCTkjfXQSviIQBaw3f1h9OYxU 6osQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:subject:to:references:from:openpgp:autocrypt :message-id:date:user-agent:mime-version:in-reply-to :content-language:content-transfer-encoding; bh=ZFvwYjsRkeEAXza7/S66wPtzd1Zg7vdxA8Kxqx7HnGA=; b=r4Rv2AVY7zOfWi6lc4MUscL9n8Wij1XXSCo/R8Pm+O2PXhqUCNH+DrllQIK8X0I88H yAg+OUZG4TO/0DIGXpR5v2btnjVv5cpjm9pG6PBkYFebZIzBHEWBgONeXOZXcApK7tVL VNrDv04m+mB+0ySPHiM/BwF2Y8BTLTNNZIky4Hyt+Zg09qhM3Lln++ej34v2yx8yshuu n24MYYv62b0qDtYMo1ORjn2j9ujne8KjFZP9Z69EY7puH1GpYyr+dxw+YQasIE6eOqXS 1AH2BQektau6fLVJuo0xXWj3kpBsNyTdW1oHzZiOOHUxIAxiynpS4al2W9SQAsMIVOig EX1A== X-Gm-Message-State: APjAAAXdCmsAJslYP/CzDiRoSZWpa7y7aP9PaZS42T0Az55DI2lzBWId +bBPm+8AsoZMEXlZOpD5NyX/06F/ X-Google-Smtp-Source: APXvYqzHlTmB/+O2Qt1hOUigeW/pI5JFEQLC9SlNZ5PYuo941JEBVBOFFSoIYOaPfo4fRyhDlre/Qg== X-Received: by 2002:a17:906:66c5:: with SMTP id k5mr97373243ejp.146.1560790050894; Mon, 17 Jun 2019 09:47:30 -0700 (PDT) Subject: Re: malloc() returns pointer to already allocated memory To: djgpp AT delorie DOT com References: <158e5d20-0a90-4beb-de48-da328379d8fb AT gmail DOT com> <83tvcoth73 DOT fsf AT gnu DOT org> From: "J.W. Jagersma (jwjagersma AT gmail DOT com) [via djgpp AT delorie DOT com]" Openpgp: id=D1694EA4DA1338AF4905293BA5102F469FA45960 Autocrypt: addr=jwjagersma AT gmail DOT com; prefer-encrypt=mutual; keydata= mJMEWlMYlBMJKyQDAwIIAQENBAMEORD9eiW30pI0XzJbuE7/4WF3ZyEOkpRgrmZnpTRmzXMW z22N+2YrczEM+q+NzM/wn8XOVH4hZ7eSaUsLT86YLS+gF/F44IbRZVCHxdrL+qSQQ0SafwDM Aaddx2azX+6MtlFO2B6oDbCHT7Nn5oQi3IgR+pgBzaCkfxyOnU1wjvO0JEouVy4gSmFnZXJz bWEgPGp3amFnZXJzbWFAZ21haWwuY29tPojQBBMTCgA4FiEE0WlOpNoTOK9JBSk7pRAvRp+k WWAFAlpTGJQCGwMFCwkIBwIGFQgJCgsCBBYCAwECHgECF4AACgkQpRAvRp+kWWA3xAH/WIBG sLngyIrTsn5uKz4JygtlCfjMRRSwl3/UIaW96VvIM/wUyzHl+vlyLmuclOjAiTVia/Js03Ar zB9iCHZQ0QH/W8cRwHjRNZRukU2IR8eqoGsl6hTUrrAAOKOVO04wrjO4jGDHg3Sw2GxBx7Md mD0QRId/gFwR/1UWS0jBdSUWC7iXBFpTGJQSCSskAwMCCAEBDQQDBFipNF/RUEAer/hhT6yJ 5no1ZLAZgpypvWZ3xJSrBKmcDTaOmNKNRrw1dNtSZ6M6wYcBmtCq7uvR5iiGyK3nD+olwe7a 4WDkhEEvbmdAYl2LnBsYeyruoW+N+KiMalvf9SphDmBi2NwdSZ1IhnBpxlUns8jqlgZGvG1G xE1sleq7AwEKCYi4BBgTCgAgFiEE0WlOpNoTOK9JBSk7pRAvRp+kWWAFAlpTGJQCGwwACgkQ pRAvRp+kWWBnyAH+JLrW/cK2aVDvq2nxn471opBgHyExzMi0hvbuy8BjyEt+AfL0RNCFcdds CQakIGDv5k69TAgOftECgASwv6CG5wH8D3jnksh6YvYMf0hCBlSfwJ5ehIeqQTj0m2410RgC KWywqmfU1X5YVXgmuXatRNgV/ggXS2Q7GnSP/StQzlh3sQ== Message-ID: <12f60f52-addf-939d-8eee-e8f67a95715c@gmail.com> Date: Mon, 17 Jun 2019 18:46:24 +0200 User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:60.0) Gecko/20100101 Thunderbird/60.7.1 MIME-Version: 1.0 In-Reply-To: <83tvcoth73.fsf@gnu.org> Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 7bit Reply-To: djgpp AT delorie DOT com Errors-To: nobody AT delorie DOT com X-Mailing-List: djgpp AT delorie DOT com X-Unsubscribes-To: listserv AT delorie DOT com Precedence: bulk On 2019-06-17 16:33, Eli Zaretskii (eliz AT gnu DOT org) [via djgpp AT delorie DOT com] wrote: >> From: Rod Pemberton >> Date: Mon, 17 Jun 2019 01:05:38 -0400 >> >> Second problem is you don't call memset() prior to using memory, nor >> free() after you're done using it. Of course, calling memset() would >> prevent your method of "clobber" detection from working. But, not >> calling memset() means you don't know if the magic clobber value is: >> a) from you setting it within your program, or >> b) from some random garbage values in memory. > > Right. There's a startup flag that a program could optionally set to > request that allocated memory be filled with a specific fixed value, > then tests for clobbering could work. See the documentation of > _crt0_startup_flags in the libc manual. > If the issue is caused by the dpmi host or sbrk(), then I think enabling the _CRT0_FLAG_FILL_SBRK_MEMORY flag would mask this bug. With this flag enabled, the test does complete successfully on cwsdpmi. It also takes much longer, probably because it's filling up all 4GBs of virtual memory.