зеркало из https://github.com/mozilla/gecko-dev.git
Don't JS_ReportOutOfMemory while holding script_filename_table_lock (r=self).
This commit is contained in:
Родитель
678fda6594
Коммит
5946f557e5
|
@ -984,16 +984,19 @@ js_SaveScriptFilename(JSContext *cx, const char *filename)
|
||||||
sft_savings += strlen(sfe->filename);
|
sft_savings += strlen(sfe->filename);
|
||||||
#endif
|
#endif
|
||||||
if (!sfe) {
|
if (!sfe) {
|
||||||
/* XXX this assumes NULL puns as JS_FALSE in the mark byte... */
|
|
||||||
sfe = (ScriptFilenameEntry *)
|
sfe = (ScriptFilenameEntry *)
|
||||||
JS_HashTableRawAdd(table, hep, hash, filename, NULL);
|
JS_HashTableRawAdd(table, hep, hash, filename, NULL);
|
||||||
if (sfe)
|
if (sfe) {
|
||||||
sfe->key = strcpy(sfe->filename, filename);
|
sfe->key = strcpy(sfe->filename, filename);
|
||||||
else
|
JS_ASSERT(!sfe->mark);
|
||||||
JS_ReportOutOfMemory(cx);
|
}
|
||||||
}
|
}
|
||||||
JS_RELEASE_LOCK(script_filename_table_lock);
|
JS_RELEASE_LOCK(script_filename_table_lock);
|
||||||
return sfe ? sfe->filename : NULL;
|
if (!sfe) {
|
||||||
|
JS_ReportOutOfMemory(cx);
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
return sfe->filename;
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
|
|
Загрузка…
Ссылка в новой задаче