nsMemory::Free(value); value = nsnull;
PrefEnumCallback(const char* aName, void* aClosure){  nsFontSearch* s = (nsFontSearch*) aClosure;  if (s->mFont) {    NS_ASSERTION(s->mFont->SupportsChar(s->mChar), "font supposed to support this char");    return;  }  char* value = nsnull;  gPref->CopyCharPref(aName, &value);  nsCAutoString name;  if (value) {    name = value;    nsMemory::Free(value);    value = nsnull;    s->mFont = s->mMetrics->TryNode(&name, s->mChar);    if (s->mFont) {      NS_ASSERTION(s->mFont->SupportsChar(s->mChar), "font supposed to support this char");      return;    }  }  s->mFont = s->mMetrics->TryLangGroup(s->mMetrics->mLangGroup, &name, s->mChar);  if (s->mFont) {    NS_ASSERTION(s->mFont->SupportsChar(s->mChar), "font supposed to support this char");    return;  }  gPref->CopyDefaultCharPref(aName, &value);  if ((value) && (!name.Equals(value))) {    name = value;    nsMemory::Free(value);    value = nsnull;    s->mFont = s->mMetrics->TryNode(&name, s->mChar);    if (s->mFont) {      NS_ASSERTION(s->mFont->SupportsChar(s->mChar), "font supposed to support this char");      return;    }    s->mFont = s->mMetrics->TryLangGroup(s->mMetrics->mLangGroup, &name, s->mChar);    NS_ASSERTION(s->mFont ? s->mFont->SupportsChar(s->mChar) : 1, "font supposed to support this char");  }}