ObjFW  Artifact [6e357d636d]

Artifact 6e357d636d5c53a62c678f013a9b09295f829372f99f2d3328796aed649adf3d:

Manifest of check-in [6e357d636d] - Fix a bug in -[freeMemory:].

This could be an out of bounds write if the last element is free'd,
as i is pointing to the last element then, which does not exist then
anymore, as it was already resized. Now, it is set before resizing.

Additionally, if the realloc to make it smaller fails, we just ignore
that now - it will still work, as we set the correct size before
resizing. by js on 2009-10-19 08:29:45.


C Fix\sa\sbug\sin\s-[freeMemory:].\n\nThis\scould\sbe\san\sout\sof\sbounds\swrite\sif\sthe\slast\selement\sis\sfree'd,\nas\si\sis\spointing\sto\sthe\slast\selement\sthen,\swhich\sdoes\snot\sexist\sthen\nanymore,\sas\sit\swas\salready\sresized.\sNow,\sit\sis\sset\sbefore\sresizing.\n\nAdditionally,\sif\sthe\srealloc\sto\smake\sit\ssmaller\sfails,\swe\sjust\signore\nthat\snow\s-\sit\swill\sstill\swork,\sas\swe\sset\sthe\scorrect\ssize\sbefore\nresizing.
D 2009-10-19T08:29:45
F Doxyfile d551f60535bc44a4b03bddf2537948050b1587bfcf94fc94de7ed5cfc403fe0c
F LICENSE ae3c272ee81b620b28e044e8d89406b70103a4addb00ace5364837083e26efda
F Makefile 541a9e3c5e22c5a6c0f2ec32719b437bf0c997729e5eecb6ce5cc9709722223f
F PLATFORMS 8ed29d73ef72684ed225040173941a4d67f856dc81bd1cb791601250dd24fef3
F TODO dbceb3bf95f1b8010a923c9a1e96a0513cfd38b429bc91f102c624e982dc1fdf
F autogen.sh 3936c3cbbf251d27d7c117d251754fdc5f701c87e682108b6eb123dffefc3a2e x
F buildsys.mk.in 50e67ad45ad3879cd992e9de8a7c170da7a572022dabfd89d1096e714894c43c
F config.guess 71dba7f4a49e7e625cafdab04e8fdec3af7a59bc3e93e16ac88a96a5cfef8250
F config.sub 4960851b86110a06bb99eaf8227d9a4ace6a28724ceeffff3472fc2e49d5b59e
F configure.ac 7bb930790ffbd77318bbe5f493ef74f08bb1c7d652d611823461af6dbd440e54
F extra.mk.in a343e23c19f8454130464caf3851bcdb50aa541fbe81563f23782a7bbbf843a5
F generators/Makefile 20ac2c40c4946461015163d2291f3f50c23acec5cc05a882beb6a44134d5a019
F generators/gen_tables.m ddead50c5d84dfbd8085251342123cd1040aebe64c551ff32415e0e15b0eda74
F install-sh f9c6aba00db453e84155727197a3cb01fc13b12f1df7cb810cb23a2df83f2f68
F m4/acx_pthread.m4 79f26df4aaedda733368764d371f7b35642a17dbf58f5f1daea71cf510aca175
F m4/ax_check_compiler_flags.m4 eb1353b82e355b5d0bc59d3913e3398fedd37a5fea27e44acbc25584576e42d6
F m4/buildsys.m4 56dc9e71dfaecfe30a2ae5ebd33f32985ff6717451e70bcb703c1bf5918fb75f
F objfw-config.in 0a106bf29c961deefa09cd369bff7539a7a4bc67b9cf86b02dd386ffc39c688c
F src/Makefile 396f894ab52ecd182071e34b8666b7e4fa785e5b29bddaaa1dd9987a5d90b7fe
F src/OFArray.h d038bfa67fa7185d74f4fa18db77a08f119d90ff6fb1b1af5f460b09b4253a07
F src/OFArray.m cf7588aa905917cd0b684bde1357d2dc5bfd15153fe4d0f32826b65f565a6fbb
F src/OFAutoreleasePool.h 33de3af070253ebbde6e78e0509ff9386167d68577664bfc961e1df8c0937858
F src/OFAutoreleasePool.m 5130372aa2680902da3178c251df632b1f7db6cdd05670d6f6395c7bffdba3d9
F src/OFConstString.h 1e291d5edd79a30c3e899fea63dc2a60ef89364aebcc3e68c6638a754268ae8e
F src/OFConstString.m 635f4f56813a59d8c50d16493201852dcac3b027ec0f850dd8a4135fca978981
F src/OFDataArray.h 8f9b91e5007f487e6b32bdd13a5400200203671893fc7f8cee4a62c6ff863dba
F src/OFDataArray.m b0d6ba69833cff299963ac9772530e14c0e0486de1c914e6385740428f1699ce
F src/OFDictionary.h 27b0d8980d1ab2d04b40db81b3a51481461d3bf215fcd170d028952cea08c323
F src/OFDictionary.m bf06454e8fab69ee336a000b8377c5c1fe55936a0239b87fb9e793976ed1790d
F src/OFExceptions.h 2b898edd580fa1cd27047493ade4c1bbd2cbc1ba2dd8839bec2e678ab9449aaa
F src/OFExceptions.m 77ebe0944823a027d050efd709d0a4a82e36ce42503ff1dad00b4e21de968869
F src/OFFile.h c01ec34601168879aa81c9ec8e8179d4a451079eae1f90b1b6d7c78298e6f671
F src/OFFile.m 12d8e100880e40485a1465b480ba3b6564d6063b23e5238977c477a26a0e3b42
F src/OFHashes.h 5648aee5dde13d0dad9bbb81b0f0b47269414b149d26b987c8a1824439e7d670
F src/OFHashes.m 11feb3bb82337de34febbb29059ec490b1ca2a5afb8b11863ffc85bbc1d0858f
F src/OFIterator.h 86392c7533775527742d57f32bebd69d13109ce2c22b275abfcb7de36db3f89e
F src/OFIterator.m d7091488bd0613e4b671bd5a502daae78c3a2d3f4777e75595c8e1da2e825cee
F src/OFList.h 677855ce180dc2ecc01839ecc53390cb8b5a7ce84e6a5261925a2ed2d2b892cf
F src/OFList.m 4ef295050731537dd4f6fe46dd1dc4d682e0be97558a3f7c7606dfb9236f16a9
F src/OFMacros.h 830442e230d6e8361874333dd11b0fdfa6a993d4ecd835d1b9e1ed1328ca0cf0
F src/OFMutableArray.h f2b0483cd1dc5df96c5545f09d11a98831e85be49b950f29445b0d143b623920
F src/OFMutableArray.m 770ad5f2bbe87ccd4b99a2eb0068f093a7065aae1522013c7ceaf702526e6c84
F src/OFMutableDictionary.h 21cc3f3819f9601566306a4516be21c96bbe52ef8d5081a8bcd38ba0e6eb463e
F src/OFMutableDictionary.m 436bcef63eaf8360af6e85a75d4e53ae1076bc6bf07e5eb0315c7ef6aab4b191
F src/OFMutableString.h f2ca005cbe673e9f1ab66a24fc47f6fd0426aca42ed0f179bbe7ed49648a1562
F src/OFMutableString.m 858fa47b244bd730484ce189e7affddbcd043515687757890c1b8524ee720265
F src/OFNumber.h 63d31ab23cb57e197a4cd702b419d42c9634f9513a8a3831ece6e88de81648c9
F src/OFNumber.m 1760655c7641f08c9f7849d32a8a6726ee5be5cb09be2306588cf80e56bbc22f
F src/OFObject.h 5cc0fd9342ca57983b22017630ee33708a7e82b6b27ea210449de8300777fc35
F src/OFObject.m 3718c4ff224a58be7b6274f9e73e976cd08a1b7debbaf2050fafc37806c0f4f9
F src/OFPlugin.h dcbe20abfe6efb7db7b3e84e84c79b31925c5abd33e1427bdbda676e00fa2853
F src/OFPlugin.m 5285064f8aaf267b7be4c944755bf5de9313148a32eca828ec863907d4a05435
F src/OFSocket.h 69355d01ced480b0917235723c022693061eefd0408fbcef3bbbbe26d78bf64a
F src/OFSocket.m ee6abc7e269c647aa018444bcf6f1c059a5111e9a54b2f4f43e7d0dc45f8e4e2
F src/OFStream.h a724d3848664240d2892e183049a0d7ffbfe43b6853fa1a8348adc2d274ba47c
F src/OFStream.m ca6dc099de033672e2935f6681e886020f9e6a81eb8ddefec44f74a8b70a87ae
F src/OFString.h 72b442269ed05edd2ac38a053cb681bf7975a84fc2c52f4b6bc8b680b51a115b
F src/OFString.m 2b9f485fcd7f16d9b2fae0e8916e30e89443962d0ef7d227f08439bbd1792f05
F src/OFTCPSocket.h cd27a12d0af5f6a86bd2eddab466183965d78b38fc63c4ad465256eb202ddb47
F src/OFTCPSocket.m 5c57ec1e568f7765fc2ef3300a308b7a1a5d1f650a6f3762dac2a72fa819c849
F src/OFThread.h a3c7f4a17c0a8fddf4d82175894a1180d05aaa3d72112a7adc5c26a6ed46867f
F src/OFThread.m 6b5ac95014f4ceb80331bed2beb9c9952c175712da46f747a8e0858e5c129ef5
F src/OFURLEncoding.h 860a731715d638af119532484a2ede90fcbd8c8a0bbb1ecb0e2b409a66e6a844
F src/OFURLEncoding.m fb4ac5dc95ca76877a16feefedd950ab8e1f9bf1139e9f5057c2d835e272c616
F src/OFXMLElement.h 22e93175b738c67c205698e4a19fc413ad10750eff396f11778304647ed71a41
F src/OFXMLElement.m 5f67a0c8cafad216654681bbef46245dea0a6da1e67ad493175656d4c33d1158
F src/OFXMLParser.h b1406f4155efd55a3a3a6a2a32556de6632d53d48b1989f32ca2568299225845
F src/OFXMLParser.m 48540ae306dfa4df551d493d09311f42f8bce54d2eff74ddd18caeea0669dbc5
F src/asprintf.c 163772d3d60a3c570564b05cfb30e70a6a2aa8dd6ffe78802438922c20e8d20f
F src/asprintf.h ba698f970032ed9ee653ce41170b911ada497df64c36de3eedf93112af3f5820
F src/iso_8859_15.c 2b889570b64f99105149ed56f66eaebe10677de149e65638a40c1984718d037e
F src/objc_sync.m 441808ccaad46938b864b2b2b5a74b211fb98873bd22190b760e2f888eeb5a6e
F src/objfw.h 115ac2d43e3812708d97638e603ba47f553cad68b76159dfa48079660ad6ccca
F src/threading.h 6c98cd6b3adf362b6c92f4634d1549d6f77ad55efbc8b8fdb936cdb1a746b453
F src/unicode.h 68a14abec4538f6ff865e7951c890e3aea0fb52b994733b32a2a751b9a23926e
F src/unicode_lower.m c692e342471a07fc2eef54af02820aaed3b2773bc75dc0839c64bdc6ce0aade6
F src/unicode_upper.m 4544126d2dfb4a8ac4afe79b37ed2c21dc5e6f278f1453a217f3874bf06c66e5
F src/windows_1252.c 19092e9d65cc78ccaf15c86d6970b54106a3e13680fc5e42d09785e2040b0e6f
F tests/Makefile 30c79993c56d69df44f9a54dd91252f7df3644ab8383b070b8f4f88425707c9e
F tests/array.m 92fa8f95cff81f168d9c37211e209511412b0d8cda8feb32c803c64da47d88c3
F tests/dataarray.m 77af06eab399109a22e4b518e0ed4955561c8c92f77a31739cf71f19771d0cc2
F tests/dictionary.m bfcfbd3084411dff6b2f2b2d07f13f41eb5b3c1c606b814bf882850564a058f3
F tests/hashes.m fbd0b0827860a84541ee5f921de65a8df54050eba39ad500d4dfdb2745da2300
F tests/list.m afc8552369dafc37d8ee2e0b7f6b275083de919c1f7834cb099d49e17590c69f
F tests/main.h e49868a57b39749a590780214a7dbca8494c3df694c587629a3fbf109c782b59
F tests/main.m 04713db63e7fe0c2a6b8b411e3a1cef51ea2c0d337d1ef411224555ace5aeab9
F tests/objc_sync/Makefile b3c9a544b325d1a25739b3ba2c13c306a150e11ae0daa0bb93babcbd9109f5ca
F tests/objc_sync/test.m 3fffa6c9f2407558f209770b35fdd9976f41556126e04c22da3c356e4fc7926e
F tests/object.m 07d7a9fb2e8c11df0b70b46778c2f4a3124e7964d7f6d79d1e9888c10d6f5f0a
F tests/plugin.m 5dcc6a3b2275d24bbf2d564032ebfd2fde54ce1a34fbd75b44ab7e1c98c2445a
F tests/plugin/Makefile e989e12b455dc304ea1204598247cfc85e6d1cefb167ccda74f3b11d9b62cf20
F tests/plugin/TestPlugin.h d8aeffa07bf027dcef3b065fb32a10c992726b48f4bd7fc54633867d70d4b52c
F tests/plugin/TestPlugin.m fb32100b387417c8b857efbec9de4f1e34f31e4e8350c49ee8cbffa78b60f4a0
F tests/string.m 093f48c183482f5ed10faf1f3ecbd86a9583518bdf4361dd55dbb8c5c72a6e3a
F tests/tcpsocket.m d20d7671384dafa6c01222c3c30cfa13813e21c60d1a7f09cfea4353274c437d
F tests/testfile ac78121630aaad87f7852695f00cc9175b9bf80bc63bbc0e65784f427cd51217
F tests/thread.m 00764890e12a19cbeeee2f20f7d61885432d944f987c596a9dfa53093dfc037d
F tests/xmlelement.m c815e882b3048c0b0862961111fe7b181a0aefb5cae1db76d6be5d7520188396
F tests/xmlparser.m 8f1d04dbb4e1de84994041f2df64e4f9dd02f5c1f67ddbb6ef3a9e0d074a20a4
P 19a11675186903648327b7d77c2a9001c3b2299f641583aa4711ffc94d3c4ba0
U js
Z 612700c264588a52f9a84379a46dcd6b