Bug 850534: Crash on Yarr OOM, r=dvander

This commit is contained in:
Hannes Verschore 2013-03-19 10:57:28 +01:00
Родитель 104b3caf40
Коммит 4fd238b21b
1 изменённых файлов: 13 добавлений и 14 удалений

Просмотреть файл

@ -133,8 +133,7 @@ class Vector {
Vector() {}
Vector(const Vector &v) {
// XXX yarr-oom
(void) append(v);
append(v);
}
size_t size() const {
@ -167,19 +166,19 @@ class Vector {
template <typename U>
void append(const U &u) {
// XXX yarr-oom
(void) impl.append(static_cast<T>(u));
if (!impl.append(static_cast<T>(u)))
MOZ_CRASH();
}
template <size_t M>
void append(const Vector<T,M> &v) {
// XXX yarr-oom
(void) impl.append(v.impl);
if (!impl.append(v.impl))
MOZ_CRASH();
}
void insert(size_t i, const T& t) {
// XXX yarr-oom
(void) impl.insert(&impl[i], t);
if (!impl.insert(&impl[i], t))
MOZ_CRASH();
}
void remove(size_t i) {
@ -191,9 +190,9 @@ class Vector {
}
void shrink(size_t newLength) {
// XXX yarr-oom
JS_ASSERT(newLength <= impl.length());
(void) impl.resize(newLength);
if (!impl.resize(newLength))
MOZ_CRASH();
}
void swap(Vector &other) {
@ -222,8 +221,8 @@ class Vector<OwnPtr<T> > {
}
void append(T *t) {
// XXX yarr-oom
(void) impl.append(t);
if (!impl.append(t))
MOZ_CRASH();
}
PassOwnPtr<T> operator[](size_t i) {
@ -237,8 +236,8 @@ class Vector<OwnPtr<T> > {
}
void reserve(size_t capacity) {
// XXX yarr-oom
(void) impl.reserve(capacity);
if (!impl.reserve(capacity))
MOZ_CRASH();
}
};