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=to:from:subject:openpgp:autocrypt:message-id:date:user-agent :mime-version:content-language; bh=RGC2UpsjofE0IXmn0QReX/AVGch2HDovPRqgLoo+7g4=; b=Y50dmyjUU17Q8ZVIEeZPcLW6BIJmgzrmDJzOVGv6a7KicmepJPAOTlnCFqKRFNBPmg AjloCVFU5ft0UeKYEJikyn3mhrbZTSP6jmtKswRfP5HJaKJsHXNxJ3t8OVZnpPMlmbS1 KC0NtcIB1g6rmX5O05L8D8huiAw8YTjr1meoYFMaLDFHIPRro9+hDhhtCSvXxbZztdJ4 wS/H8yJH3iiZEXiI0TgLTg/xibdOa9F8Ey5DQCCZkcX29TNEHph6gUADqAdZykPc5u97 QdpZkeGJOsDnMvbIHilc9zit0jtUnIHf17mspgxVhzJkNG+iRo51FuGvR8gg01/V6g5Y dfUw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:to:from:subject:openpgp:autocrypt:message-id :date:user-agent:mime-version:content-language; bh=RGC2UpsjofE0IXmn0QReX/AVGch2HDovPRqgLoo+7g4=; b=F6xIorKk1osQSvWEEzCTfh35ENQPz34j7xXQCN/iDlGZl/ihBfjT9Vp1i7rBawqaFd 5bfJo7JE1tEsmQgpvzLtCivw9tLnx806ShMS+HbilZUTuHsNNL3nT81sYhiXnJofi2Ar 4YtucvBB6OF/pG4y9YPJ42qM2RL05KEOq1Jb0gbB3F9fJ5Jtye3nUp8Yx6O0K/kvCKr1 i+x/IdltCp8E55e1LEdGhMJLyTOASuN2hVNFIe+No4owpMDrNRA0yP688at3GAKPZhAb J6kebsufLG8YF46IekbVbflaQ+uznO6JEV8F1Hx8Dp4ADMQ9czEjwcmm+SrsCnGbdBaX 2gIQ== X-Gm-Message-State: APjAAAUBdVLsv6cuxdysf/CZDFQDhUr+wNj+56phai084t3c7btZuKl2 fTsaiNGpxNgxjPiUleKVRb4OiCI+ X-Google-Smtp-Source: APXvYqwx9X0K9JdzwrR6NYZulSRGP0PGQ8LMkJlBCNEcUeftY0tgWKPpdB6FFz3KaurMBe2KMVWRtg== X-Received: by 2002:a50:ec03:: with SMTP id g3mr53620915edr.233.1560731301535; Sun, 16 Jun 2019 17:28:21 -0700 (PDT) To: djgpp AT delorie DOT com From: "J.W. Jagersma (jwjagersma AT gmail DOT com) [via djgpp AT delorie DOT com]" Subject: malloc() returns pointer to already allocated memory 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: <158e5d20-0a90-4beb-de48-da328379d8fb@gmail.com> Date: Mon, 17 Jun 2019 02:27:18 +0200 User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:60.0) Gecko/20100101 Thunderbird/60.7.1 MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="------------659667499379B00D179B07C5" Content-Language: en-US Reply-To: djgpp AT delorie DOT com This is a multi-part message in MIME format. --------------659667499379B00D179B07C5 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit I ran into this issue with malloc(). It seems that, given enough allocations, malloc() will eventually return a pointer into already allocated memory. The attached program is able to reproduce this rather consistently, but only under cwsdpmi. It also only happens if the memory has previously been written to (suggesting a paging issue?). However the code that first led me to investigate this also exhibits the same problem under hdpmi. As such, I'm still not entirely convinced that this initial issue wasn't caused by my own code. I also find it hard to believe that no one else noticed this rather obvious problem before me. Still, the attached program demonstrates this clobbering issue, and I think this would warrant further investigation. Any insight is much appreciated. --------------659667499379B00D179B07C5 Content-Type: text/plain; charset=UTF-8; name="malloc.c" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="malloc.c" I2luY2x1ZGUgPHN0ZGxpYi5oPg0KI2luY2x1ZGUgPHN0ZGlvLmg+DQojaW5jbHVkZSA8dGlt ZS5oPg0KDQppbnQgbWFpbigpDQp7DQogICAgc3JhbmQocmF3Y2xvY2soKSk7DQogICAgY29u c3QgaW50IG1hZ2ljID0gcmFuZCgpOw0KICAgIHByaW50ZigidXNpbmcgbWFnaWM9JXhcbiIs IG1hZ2ljKTsNCiAgICANCiAgICB3aGlsZSAoMSkNCiAgICB7DQogICAgICAgIGludCBzaXpl ID0gMSArIHJhbmQoKSAlIDB4MTAwMDsNCiAgICAgICAgaW50KiBwID0gbWFsbG9jKHNpemUg KiBzaXplb2YoaW50KSk7DQogICAgICAgIGlmIChwID09IE5VTEwpIGJyZWFrOw0KICAgICAg ICBmb3IgKGludCBpID0gMDsgaSA8IHNpemU7ICsraSkNCiAgICAgICAgew0KICAgICAgICAg ICAgaWYgKHBbaV0gPT0gbWFnaWMpDQogICAgICAgICAgICB7DQogICAgICAgICAgICAgICAg cHJpbnRmKCJjbG9iYmVyIGRldGVjdGVkISAqKCV4KSA9PSAleFxuIiwgcCArIGksIHBbaV0p Ow0KICAgICAgICAgICAgICAgIHJldHVybiAtMTsNCiAgICAgICAgICAgIH0NCiAgICAgICAg ICAgIHBbaV0gPSBtYWdpYzsNCiAgICAgICAgfQ0KICAgIH0NCiAgICBwcmludGYoIm9rLlxu Iik7DQogICAgcmV0dXJuIDA7DQp9DQo= --------------659667499379B00D179B07C5--