{
FILE *f;
PSD_Header header;
+ Eina_Bool correct;
*error = EVAS_LOAD_ERROR_NONE;
*error = EVAS_LOAD_ERROR_DOES_NOT_EXIST;
return EINA_FALSE;
}
- psd_get_header(&header, f);
+ correct = psd_get_header(&header, f);
fclose(f);
- if (!is_psd(&header))
+ if (!correct || !is_psd(&header))
{
*error = EVAS_LOAD_ERROR_UNKNOWN_FORMAT;
return EINA_FALSE;
return bpsd;
}
- psd_get_header(&header, f);
- if (!is_psd(&header))
+ if (!psd_get_header(&header, f) || !is_psd(&header))
{
+ fclose(f);
*error = EVAS_LOAD_ERROR_GENERIC;
return EINA_FALSE;
}