Overview
| Comment: | For some reason, proper overflow checks were only in OFBigArray. |
|---|---|
| Downloads: | Tarball | ZIP archive | SQL archive |
| Timelines: | family | ancestors | descendants | both | trunk |
| Files: | files | file ages | folders |
| SHA3-256: |
f724e6d79478eadbcb6b9bd87a4f3754 |
| User & Date: | js on 2009-01-07 20:49:35 |
| Other Links: | manifest | tags |
Context
|
2009-01-10
| ||
| 03:28 | Fix missing deletion of libobjfw.dll. (check-in: 635bbd6db8 user: js tags: trunk) | |
|
2009-01-07
| ||
| 20:49 | For some reason, proper overflow checks were only in OFBigArray. (check-in: f724e6d794 user: js tags: trunk) | |
| 17:10 |
Also release the pools when we release the pool list. We need to do that manually as we disabled retain / release for the list. (check-in: 03618ea87b user: js tags: trunk) | |
Changes
Modified src/OFArray.m from [e903248725] to [5b2194bc15].
| ︙ | ︙ | |||
66 67 68 69 70 71 72 |
- (void*)last
{
return data + (items - 1) * itemsize;
}
- add: (void*)item
{
| | | | 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 |
- (void*)last
{
return data + (items - 1) * itemsize;
}
- add: (void*)item
{
if (SIZE_MAX - items < 1 || items + 1 > SIZE_MAX / itemsize)
@throw [OFOutOfRangeException newWithClass: [self class]];
data = [self resizeMem: data
toNItems: items + 1
ofSize: itemsize];
memcpy(data + items++ * itemsize, item, itemsize);
return self;
}
- addNItems: (size_t)nitems
fromCArray: (void*)carray
{
if (nitems > SIZE_MAX - items || items + nitems > SIZE_MAX / itemsize)
@throw [OFOutOfRangeException newWithClass: [self class]];
data = [self resizeMem: data
toNItems: items + nitems
ofSize: itemsize];
memcpy(data + items * itemsize, carray, nitems * itemsize);
|
| ︙ | ︙ |