Bug 826173 - Avoid calling close/fclose/unlink with uninitialized values in the linker. r=nfroyd

This commit is contained in:
Mike Hommey 2013-01-03 16:45:50 +01:00
Родитель 7e955d52d5
Коммит 44a3273ff8
2 изменённых файлов: 4 добавлений и 2 удалений

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

@ -114,6 +114,8 @@ private:
{
static void release(char *value)
{
if (!value)
return;
unlink(value);
mozilla::ScopedDeleteArrayTraits<char>::release(value);
}

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

@ -86,7 +86,7 @@ struct AutoCloseFDTraits
{
typedef int type;
static int empty() { return -1; }
static void release(int fd) { close(fd); }
static void release(int fd) { if (fd != -1) close(fd); }
};
typedef mozilla::Scoped<AutoCloseFDTraits> AutoCloseFD;
@ -97,7 +97,7 @@ struct AutoCloseFILETraits
{
typedef FILE *type;
static FILE *empty() { return NULL; }
static void release(FILE *f) { fclose(f); }
static void release(FILE *f) { if (f) fclose(f); }
};
typedef mozilla::Scoped<AutoCloseFILETraits> AutoCloseFILE;