public inbox for gcc-prs@sourceware.org
help / color / mirror / Atom feed
From: bridean@ureach.com
To: gcc-gnats@gcc.gnu.org
Subject: c/8411: Segmentation fault error in malloc
Date: Thu, 31 Oct 2002 02:16:00 -0000	[thread overview]
Message-ID: <20021031101027.8161.qmail@sources.redhat.com> (raw)


>Number:         8411
>Category:       c
>Synopsis:       Segmentation fault error in malloc
>Confidential:   no
>Severity:       critical
>Priority:       medium
>Responsible:    unassigned
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Thu Oct 31 02:16:01 PST 2002
>Closed-Date:
>Last-Modified:
>Originator:     Brian M. Dean
>Release:        unknown-1.0
>Organization:
>Environment:
Red Hat 8.0  Gnu compiler 3.2
>Description:
When the following program is compiled with -O3 optimization
either
int CheckRepeats[MaxRepSize * sizeof(int)]
or
CheckRepeats = (int *) malloc(MaxRepSize * sizeof(int))
Will return a segmentation fault.

If the program is compiled without optimization, it will execute normally.
>How-To-Repeat:
Do the following compile
gcc -O3 -o GetComplete GetComplete3.c
Then run it as follows
./GetComplete 3 -1000 1000
>Fix:

>Release-Note:
>Audit-Trail:
>Unformatted:
----gnatsweb-attachment----
Content-Type: application/octet-stream; name="GetComplete3.c"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="GetComplete3.c"

LyoKICBQcm9ncmFtIHRvIGdldCBjb21wbGV0ZSBiYXNlcyBnaXZlbiB0aGUgZm9sbG93aW5nIG9w
dGlvbnMgZnJvbSB0aGUKICBjb21tYW5kIGxpbmUuCgogIEdldENvbXBsZXRlIHJhZGl4IGxvdyBo
aWdoIGZpbGUKCiAgV2hlcmUgbG93IGlzIHRoZSBsb3dlc3QgZGlnaXQgdmFsdWUsIGhpZ2ggaXMg
dGhlIGhpZ2hlc3QgZGlnaXQgdmFsdWUKICBhbmQgZmlsZSBpcyBhbiBvcHRpb25hbCBmaWxlIG91
dHB1dC4gIFdpdGhvdXQgdGhlIGZpbGUgb3V0cHV0IHRoZQogIHByb2dyYW0gd2lsbCBzaW1wbHkg
ZGlzcGxheSBob3cgbWFueSBjb21wbGV0ZSBiYXNlcyBpdCBmb3VuZC4KKi8KCiNpbmNsdWRlIDxz
dGRpby5oPgojaW5jbHVkZSA8bWF0aC5oPgojaW5jbHVkZSA8c3RkbGliLmg+CiNpbmNsdWRlIDxl
cnJuby5oPgojaW5jbHVkZSA8c3RyaW5nLmg+CiNpbmNsdWRlIDxzeXMvdGltZS5oPgoKCmludCBH
ZXRJbnQoKQp7CiAgY2hhciBHZXRTdHJbODBdOwogIGludCBHZXROdW09MCwgZXJyPTA7CgogIGZn
ZXRzKEdldFN0ciwgODAsIHN0ZGluKTsKICB3aGlsZSAoZXJyID09IDApCiAgICB7CiAgICAgIGVy
ciA9IHNzY2FuZihHZXRTdHIsICIlbGQiLCAmR2V0TnVtKTsKICAgICAgaWYgKGVyciA9PSAwKQoJ
ewoJICBwcmludGYoIlxuVHJ5IGFnYWluLiAiKTsKCSAgZmdldHMoR2V0U3RyLCA4MCwgc3RkaW4p
OwoJfQogICAgfQogIHJldHVybiBHZXROdW07Cn0KCgp2b2lkIHNvcnRpbnRzKGludCAqaW50YXJy
LCBjb25zdCBpbnQgYmFzZSkKLyogCiAgIFNpbmNlIHRoZXJlIGFyZSBhdCBtb3N0IDE2IG9mIHRo
ZXNlIHRvIHNvcnQgdGhlbgogICBhbnkgc29ydGluZyBhbGdvcml0aG0gc2hvdWxkIGJlIHN1ZmZp
Y2llbnQuCiAgIE1pZ2h0IGFzIHdlbGwgdXNlIGJ1YmJsZSBzb3J0LgoqLwp7CiAgaW50IHNvcnRl
ZCA9IDAsIHN3YXBvY2N1ciA9IDA7CiAgaW50IHN3YXBpbnQsIGk7CgogIHdoaWxlICghc29ydGVk
KQogICAgewogICAgICBzd2Fwb2NjdXIgPSAwOwogICAgICBmb3IgKGk9MTsgaTxiYXNlOyBpKysp
Cgl7CgkgIGlmIChpbnRhcnJbaV0gPCBpbnRhcnJbaS0xXSkKCSAgICB7CgkgICAgICBzd2FwaW50
ID0gaW50YXJyW2ldOwoJICAgICAgaW50YXJyW2ldID0gaW50YXJyW2ktMV07CgkgICAgICBpbnRh
cnJbaS0xXSA9IHN3YXBpbnQ7CgkgICAgICBzd2Fwb2NjdXIgPSAxOwoJICAgIH0KCX0KICAgICAg
aWYgKCFzd2Fwb2NjdXIpIHNvcnRlZCA9IDE7CiAgICB9Cn0KCmludCBJc1JlcHJlc2VudGFibGUo
Y29uc3QgaW50IHJlcGludCwgY29uc3QgaW50ICpEaWdpdHMsIGNvbnN0IGludCBiYXNlKQovKiBJ
cyByZXBpbnQgcmVwcmVzZW50YWJsZSBpbiB0aGlzIGJhc2U/ICovCnsKICBpbnQgY3VybnVtID0g
cmVwaW50OwogIGludCBNYXhSZXBTaXplPTAsIEN1cnJSZXBTaXplPTA7CiAgaW50IG1vZGludCwg
Y3VycmxvYz0wLCBpOwogIC8vIGludCAqQ2hlY2tSZXBlYXQ7CgogIC8qIAogICAgIE1heFJlcFNp
emUgY2FuIG5vdCBwb3NzaWJseSBiZSBhbnkgd29yc2UgdGhhbiB0aGUgc3VtIG9mIGFsbCBvZgog
ICAgIHRoZSBhYnNvbHV0ZSB2YWx1ZXMgb2YgYWxsIG9mIHRoZSBkaWdpdHMuICBVbnRpbCBJIGZp
bmQgYSBiZXR0ZXIKICAgICBNYXhSZXBTaXplIEkgd2lsbCB1c2UgdGhpcyBvbmUuCiAgKi8KICBm
b3IgKGk9MDsgaTxiYXNlOyBpKyspCiAgICBNYXhSZXBTaXplICs9IGFicyhEaWdpdHNbaV0pOwog
IGludCBDaGVja1JlcGVhdFsoTWF4UmVwU2l6ZSArIDEpICogc2l6ZW9mKGludCldOwogIC8vIENo
ZWNrUmVwZWF0ID0gKGludCAqKSBtYWxsb2MoTWF4UmVwU2l6ZSAqIHNpemVvZihpbnQpKTsKICBD
aGVja1JlcGVhdFswXSA9IGN1cm51bTsKICB3aGlsZSAoY3VybnVtICE9IDApCiAgICB7CiAgICAg
IGludCBkaXZpbnQ7CgogICAgICBtb2RpbnQgPSBjdXJudW0gJSBiYXNlOwogICAgICBpZiAobW9k
aW50IDwgMCkgbW9kaW50ICs9IGJhc2U7CiAgICAgIGRpdmludCA9IChjdXJudW0gLSBEaWdpdHNb
bW9kaW50XSkgLyBiYXNlOwogICAgICBDdXJyUmVwU2l6ZSsrOwogICAgICAvKiAKCSBjdXJyZXAg
c2hvdWxkIG5vdyBiZSA9PSAoZGl2aW50ICogYmFzZSkgKyBEaWdpdHNbbW9kaW50XSAKCSBzbyB0
aGUgYXBwcm9wcmlhdGUgZGlnaXQgPSBEaWdpdHNbbW9kaW50XQogICAgICAqLwogICAgICBpZiAo
Q3VyclJlcFNpemUgPiBNYXhSZXBTaXplKQoJewoJICAvLyBmcmVlKENoZWNrUmVwZWF0KTsKCSAg
cmV0dXJuIDA7Cgl9CiAgICAgIGZvciAoaT0wOyBpPEN1cnJSZXBTaXplOyBpKyspCglpZiAoQ2hl
Y2tSZXBlYXRbaV0gPT0gZGl2aW50KSAKCSAgewoJICAgIC8vIGZyZWUoQ2hlY2tSZXBlYXQpOwoJ
ICAgIHJldHVybiAwOwoJICB9CiAgICAgIENoZWNrUmVwZWF0W0N1cnJSZXBTaXplXSA9IGRpdmlu
dDsKICAgICAgY3VybnVtID0gZGl2aW50OwogICAgfQogIC8vIGZyZWUoQ2hlY2tSZXBlYXQpOwog
IHJldHVybiAxOwp9CgoKaW50IFRlc3RDb21wbGV0ZShjb25zdCBpbnQgKkRpZ2l0cywgY29uc3Qg
aW50IGJhc2UpCnsKICBpbnQgaSwgbWF4dmFsPTA7CgogIGZvciAoaT0wOyBpPGJhc2U7IGkrKykK
ICAgIHsKICAgICAgaW50IHRtcCA9IGFicyhEaWdpdHNbaV0pOwogICAgICBpZiAodG1wID4gbWF4
dmFsKQoJbWF4dmFsID0gdG1wOwogICAgfQogIG1heHZhbCArPSAyOwogIG1heHZhbCAvPSAyOwog
IGZvciAoaSA9IChtYXh2YWwgKiAtMSk7IGkgPD0gbWF4dmFsOyBpKyspCiAgICBpZiAoIUlzUmVw
cmVzZW50YWJsZSggaSwgRGlnaXRzLCBiYXNlKSkKCXJldHVybiAwOwogIHJldHVybiAxOwp9CgoK
aW50IEdldE5leHREaWdpdFNldChpbnQgKkRpZ2l0cywgY29uc3QgaW50IGJhc2UsIAoJCSAgICBj
b25zdCBpbnQgbG93aW50LCBjb25zdCBpbnQgaGlnaGludCkKLyoKICBHZXQgdGhlIG5leHQgc2V0
IG9mIGRpZ2l0cyBpbiB0aGUgYmFzZS4KICBJZ25vcmUgdGhlIGluY29tcGxldGUgY2FzZSB3aGVy
ZSBvbmUgb2YgdGhlIGRpZ2l0cyBpcyBkaXZpc2libGUKICBieSAoYmFzZSAtIDEpIGFuZCBpZ25v
cmUgYmFzZXMgd2hlcmUgdGhlIGRpZ2l0cyBhZGQgdXAgdG8gZ3JlYXRlcgogIHRoYW4gemVyby4K
Ki8KewogIGludCBpID0gYmFzZSAtIDEsIGo7CiAgd2hpbGUgKCFEaWdpdHNbMF0pIC8vIEFub3Ro
ZXIgd2F5IG9mIHNheWluZyBEaWdpdHNbMF0gPSAwCiAgICB7CiAgICAgIGludCBhZGRpZ2l0cywg
ajsKICAgICAgaW50IG1heGRpZyA9IDAsIGkgPSBiYXNlIC0gMTsKICAgICAgZm9yIChqPTA7IGo8
YmFzZTsgaisrKQoJaWYgKERpZ2l0c1tqXSA+IG1heGRpZykKCSAgbWF4ZGlnID0gRGlnaXRzW2pd
OwogICAgICBpZiAobWF4ZGlnIDwgMCkKCURpZ2l0c1tiYXNlLTFdID0gKDIqYmFzZSkgLSAxOwog
ICAgICB3aGlsZSAoKERpZ2l0c1tpXSArIGJhc2UpID4gaGlnaGludCkKCXsKCSAgaW50IG51bWFk
ZCA9IChsb3dpbnQgLSBpKS9iYXNlOwoJICBEaWdpdHNbaV0gPSBpICsgKG51bWFkZCAqIGJhc2Up
OwoJICBpZiAoKERpZ2l0c1tpXSAlIChiYXNlIC0gMSkpID09IDApCgkgICAgRGlnaXRzW2ldICs9
IGJhc2U7CgkgIGktLTsKCX0KICAgICAgRGlnaXRzW2ldICs9IGJhc2U7CiAgICAgIGlmICgoRGln
aXRzW2ldICUgKGJhc2UgLSAxKSkgPT0gMCkKCWlmICgoRGlnaXRzW2ldICsgYmFzZSkgPiBoaWdo
aW50KQoJICAvLyBHbyB0byB0aGUgYmVnaW5uaW5nIG9mIHRoZSAhZm91bmQgbG9vcAoJICBjb250
aW51ZTsKCWVsc2UKCSAgRGlnaXRzW2ldICs9IGJhc2U7CiAgICAgIGFkZGlnaXRzID0gMDsKICAg
ICAgZm9yIChpPTE7IGk8YmFzZTsgaSsrKQoJYWRkaWdpdHMgKz0gRGlnaXRzW2ldOwogICAgICBp
ZiAoYWRkaWdpdHMgPiAwKQoJY29udGludWU7CiAgICAgIGlmIChEaWdpdHNbMF0gPiAwKQoJcmV0
dXJuIDA7CiAgICAgIGVsc2UKCXJldHVybiAxOwogICAgfQogIHJldHVybiAwOwp9ICAKCnZvaWQg
UHJpbnRDb21wbGV0ZShjb25zdCBpbnQgKkRpZ2l0cywgY29uc3QgaW50IGJhc2UsIEZJTEUgKk91
dEZpbGUpCnsKICBjaGFyIE91dFN0clsyMDBdOwogIGNoYXIgQWRkU3RyWzEwMF07CiAgaW50IGk7
CgogIHNwcmludGYoT3V0U3RyLCAiQiA9ICVsZFx0eyIsIGJhc2UpOwogIGZvciAoaT0wOyBpPChi
YXNlLTEpOyBpKyspCiAgICB7CiAgICAgIHNwcmludGYoQWRkU3RyLCAiJWxkLCAiLCBEaWdpdHNb
aV0pOwogICAgICBzdHJjYXQoT3V0U3RyLCBBZGRTdHIpOwogICAgfQogIHNwcmludGYoQWRkU3Ry
LCAiJWxkfVxuIiwgRGlnaXRzW2Jhc2UtMV0pOyAgCiAgc3RyY2F0KE91dFN0ciwgQWRkU3RyKTsK
ICBmcHV0cyhPdXRTdHIsIE91dEZpbGUpOwp9CiAgCgp2b2lkIEdldENvbXBsZXRlKGNvbnN0IGlu
dCBiYXNlLCBjb25zdCBpbnQgbG93aW50LCBjb25zdCBpbnQgaGlnaGludCwgCgkJIEZJTEUgKk91
dEZpbGUpCnsKICBpbnQgRGlnaXRzW2Jhc2VdOwogIGludCBpOwogIGxvbmcgbnVtYmFzZXMgPSAw
OwoKICAvKiAKICAgICBHZXQgdGhlIGxvd2VzdCBudW1iZXIgYWxsb3dhYmxlIGluIE1heERpZ2l0
IHdoZXJlIHRoZSBudW1iZXIKICAgICBtb2R1bHVzIGJhc2UgaXMgdGhlIHNhbWUgYXMgdGhlIG9y
aWdpbmFsIGRpZ2l0LgogICAgIEZyb20gbm93IG9uLCBEaWdpdHNbMF0gPSAwIHNpbmNlIHplcm8g
aXMgYSBuZWNlc3NhcnkgZGlnaXQKICAgICBpbiBhbnkgY29tcGxldGUgYmFzZS4gIFNpbmNlIGNv
bnZlcnRpbmcgYW4gaW50IHRvIGRvdWJsZQogICAgIGluIEMgaGFzIHRoZSBlZmZlY3Qgb2YgbWVy
ZWx5IHRydW5jYXRpbmcgb2ZmIHRoZSBkZWNpbWFscwogICAgIChpLmUuIDMuMzMzMzMgb3IgMy44
ODg4ODggYmVjb21lcyBqdXN0IDMpIGFsbCB5b3UgaGF2ZSB0bwogICAgIGRvIGlzIGRpdmlkZSBh
bmQgdGhlbiBtdWx0aXBseSBieSBiYXNlLiAgRGlnaXRzWzBdIGlzIAogICAgIGFsd2F5cyB6ZXJv
IHNpbmNlIHdlIGFyZSBvbmx5IGludGVyZXN0ZWQgaW4gYmFzZXMgd2hpY2gKICAgICBoYXZlIGEg
emVybyBkaWdpdC4KICAqLwogIERpZ2l0c1swXSA9IDA7CiAgZm9yIChpPTE7IGk8YmFzZS0xOyBp
KyspCiAgICB7CiAgICAgIGludCBudW1hZGQgPSAobG93aW50IC0gaSkvYmFzZTsKICAgICAgRGln
aXRzW2ldID0gaSArIChudW1hZGQgKiBiYXNlKTsKICAgICAgaWYgKChEaWdpdHNbaV0gJSAoYmFz
ZSAtIDEpKSA9PSAwKQoJRGlnaXRzW2ldICs9IGJhc2U7CiAgICB9CiAgLyogCiAgICAgTm93IHRl
c3QgZWFjaCBwb3NzaWJsZSBzZXQgb2YgZGlnaXRzCiAgKi8KCiAgd2hpbGUoR2V0TmV4dERpZ2l0
U2V0KERpZ2l0cywgYmFzZSwgbG93aW50LCBoaWdoaW50KSkKICAgIHsKICAgICAgaWYgKFRlc3RD
b21wbGV0ZShEaWdpdHMsIGJhc2UpKQoJewoJICBudW1iYXNlcysrOwoJICBpZiAoT3V0RmlsZSAh
PSBOVUxMKQoJICAgIFByaW50Q29tcGxldGUoRGlnaXRzLCBiYXNlLCBPdXRGaWxlKTsKCX0KICAg
IH0KICBwcmludGYoIiVsZCBudW1iZXIgb2YgYmFzZXMgZm91bmRcbiIsIG51bWJhc2VzKTsKfQoK
CmludCBtYWluKGludCBhcmdjLCBjaGFyICphcmd2W10pCnsKICBGSUxFICpPdXRGaWxlID0gTlVM
TDsKICBpbnQgYmFzZSwgbG93aW50LCBoaWdoaW50OwogIGxvbmcgbnVtbWljc2VjcywgbG51bXNl
Y3M7CiAgZG91YmxlIG51bXNlY3M7CiAgaW50IGksIGFuczsKICBzdHJ1Y3QgdGltZXZhbCAgc3R0
aW1lLCBlbmR0aW1lOwoKICBpZiAoKGFyZ2MgPCA0KSB8fCAoYXJnYyA+IDUpKQogICAgewogICAg
ICBwcmludGYoIlVzYWdlOiBHZXRDb21wbGV0ZSByYWRpeCBsb3cgaGlnaCBmaWxlIFxuIik7CiAg
ICAgIHByaW50ZigiV2hlcmUgbG93IGlzIHRoZSBsb3dlc3QgZGlnaXQsIGhpZ2ggaXMgdGhlIGhp
Z2hlc3QgXG4iKTsKICAgICAgcHJpbnRmKCJhbmQgZmlsZSBpcyBhbiBvcHRpb25hbCBvdXRwdXQg
ZmlsZSBmb3IgdGhlIGNvbXBsZXRlIFxuIik7CiAgICAgIHByaW50ZigiYmFzZXMgZm91bmQuIFxu
Iik7CiAgICAgIGV4aXQoMCk7CiAgICB9CiAgaWYgKGFyZ2MgPT0gNSkKICAgIHsKICAgICAgT3V0
RmlsZSA9IGZvcGVuKGFyZ3ZbNF0sICJ3Iik7CiAgICAgIGlmIChPdXRGaWxlID09IE5VTEwpCgl7
CgkgIHByaW50ZigiQ291bGQgbm90IG9wZW4gZmlsZSBmb3Igb3V0cHV0LlxuIik7CgkgIHByaW50
ZigiUmVhc29uOiAlc1xuIiwgc3RyZXJyb3IoZXJybm8pKTsKCSAgZXhpdCgwKTsKCX0KICAgIH0K
ICBpZiAoc3NjYW5mKGFyZ3ZbMV0sICIlbGQiLCAmYmFzZSkgPT0gMCkKICAgIHsKICAgICAgcHJp
bnRmKCJCYXNlIGlzIGFuIGltcHJvcGVyIG51bWJlci4gXG4iKTsKICAgICAgZXhpdCgwKTsKICAg
IH0KICBpZiAoc3NjYW5mKGFyZ3ZbMl0sICIlbGQiLCAmbG93aW50KSA9PSAwKQogICAgewogICAg
ICBwcmludGYoIkxvdyBpbnRlZ2VyIGlzIGFuIGltcHJvcGVyIG51bWJlci4gXG4iKTsKICAgICAg
ZXhpdCgwKTsKICAgIH0KICBpZiAoc3NjYW5mKGFyZ3ZbM10sICIlbGQiLCAmaGlnaGludCkgPT0g
MCkKICAgIHsKICAgICAgcHJpbnRmKCJIaWdoIGludGVnZXIgaXMgYW4gaW1wcm9wZXIgbnVtYmVy
LiBcbiIpOwogICAgICBleGl0KDApOwogICAgfQogIGFucyA9IGdldHRpbWVvZmRheSgmc3R0aW1l
LCBOVUxMKTsKICBHZXRDb21wbGV0ZShiYXNlLCBsb3dpbnQsIGhpZ2hpbnQsIE91dEZpbGUpOwog
IGFucyA9IGdldHRpbWVvZmRheSgmZW5kdGltZSwgTlVMTCk7CiAgbnVtbWljc2VjcyA9IGVuZHRp
bWUudHZfdXNlYyAtIHN0dGltZS50dl91c2VjOwogIGxudW1zZWNzID0gZW5kdGltZS50dl9zZWMg
LSBzdHRpbWUudHZfc2VjOwogIG51bXNlY3MgPSBsbnVtc2VjcyArICgoZG91YmxlKSBudW1taWNz
ZWNzLzEwMDAwMDAuMCk7CiAgcHJpbnRmKCJUaGF0IHRvb2sgJWxmIHNlY29uZHNcbiIsICBudW1z
ZWNzKTsKfQo=


             reply	other threads:[~2002-10-31 10:16 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2002-10-31  2:16 bridean [this message]
2002-10-31 14:34 jbuck
2002-10-31 14:36 Joe Buck
2003-02-23 21:06 neroden

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20021031101027.8161.qmail@sources.redhat.com \
    --to=bridean@ureach.com \
    --cc=gcc-gnats@gcc.gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).