зеркало из https://github.com/mozilla/gecko-dev.git
Bug 850534: Crash on Yarr OOM, r=dvander
This commit is contained in:
Родитель
104b3caf40
Коммит
4fd238b21b
|
@ -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();
|
||||
}
|
||||
};
|
||||
|
||||
|
|
Загрузка…
Ссылка в новой задаче