确认gdi_lfs会有leak file handle,Patch id: MAUI_03048124
可以按以下方法进行修改:
把函数
BOOL gdi_image_is_gif_file(U8 *file_name)
{
/*----------------------------------------------------------------*/
/* Local Variables */
/*----------------------------------------------------------------*/
kal_int32 f;
U8 buf[3];
kal_uint32 len;
kal_int32 result;
/*----------------------------------------------------------------*/
/* Code Body */
/*----------------------------------------------------------------*/
f = gdi_lfs_open(gdi_lfs_handle,(U16*) file_name, FS_READ_ONLY | FS_OPEN_NO_DIR | FS_OPEN_SHARED, 0);
if (f < 0)
{
return FALSE;
}
f = gdi_lfs_handle;
result = gdi_lfs_read(f, buf, 3, &len);
gdi_lfs_close(f);
if (result == FS_NO_ERROR)
if (len == 3)
if (buf[0] == 'G' && buf[1] == 'I' && buf[2] == 'F')
{
return TRUE;
}
return FALSE;
}
改为:
BOOL gdi_image_is_gif_file(U8 *file_name)
{
/*----------------------------------------------------------------*/
/* Local Variables */
/*----------------------------------------------------------------*/
kal_int32 f;
U8 buf[3];
kal_uint32 len;
kal_int32 result;
/*----------------------------------------------------------------*/
/* Code Body */
/*----------------------------------------------------------------*/
f = DRM_open_file(
(U16*) file_name,
FS_READ_ONLY | FS_OPEN_NO_DIR | FS_OPEN_SHARED,
DRM_PERMISSION_DISPLAY);
if (f < 0)
{
return FALSE;
}
result = DRM_read_file(f, buf, 3, &len);
DRM_close_file(f);
if (result == FS_NO_ERROR)
if (len == 3)
if (buf[0] == 'G' && buf[1] == 'I' && buf[2] == 'F')
{
return TRUE;
}
return FALSE;
}
把函数
BOOL gdi_image_is_png_file(U8 *file_name)
{
/*----------------------------------------------------------------*/
/* Local Variables */
/*----------------------------------------------------------------*/
int f;
U8 buf[8];
U32 len;
U32 result;
/*----------------------------------------------------------------*/
/* Code Body */
/*----------------------------------------------------------------*/
f = gdi_lfs_open(gdi_lfs_handle,(U16*) file_name, FS_READ_ONLY | FS_OPEN_NO_DIR | FS_OPEN_SHARED, 0);
if (f < 0) return FALSE;
f = gdi_lfs_handle;
result = gdi_lfs_read(f, buf, 8, &len);
gdi_lfs_close(f);
if (result == FS_NO_ERROR)
if (len == 8)
if (memcmp(buf, "\x89PNG\x0d\x0a\x1a\x0a", 8) == 0)
{
return TRUE;
}
return FALSE;
}
改为:
BOOL gdi_image_is_png_file(U8 *file_name)
{
/*----------------------------------------------------------------*/
/* Local Variables */
/*----------------------------------------------------------------*/
int f;
U8 buf[8];
U32 len;
U32 result;
/*----------------------------------------------------------------*/
/* Code Body */
/*----------------------------------------------------------------*/
f = DRM_open_file(
(U16*) file_name,
FS_READ_ONLY | FS_OPEN_NO_DIR | FS_OPEN_SHARED,
DRM_PERMISSION_DISPLAY);
if (f < 0)
{
return FALSE;
}
result = DRM_read_file(f, buf, 8, &len);
DRM_close_file(f);
if (result == FS_NO_ERROR)
if (len == 8)
if (memcmp(buf, "\x89PNG\x0d\x0a\x1a\x0a", 8) == 0)
{
return TRUE;
}
return FALSE;
}
可以按以下方法进行修改:
把函数
BOOL gdi_image_is_gif_file(U8 *file_name)
{
/*----------------------------------------------------------------*/
/* Local Variables */
/*----------------------------------------------------------------*/
kal_int32 f;
U8 buf[3];
kal_uint32 len;
kal_int32 result;
/*----------------------------------------------------------------*/
/* Code Body */
/*----------------------------------------------------------------*/
f = gdi_lfs_open(gdi_lfs_handle,(U16*) file_name, FS_READ_ONLY | FS_OPEN_NO_DIR | FS_OPEN_SHARED, 0);
if (f < 0)
{
return FALSE;
}
f = gdi_lfs_handle;
result = gdi_lfs_read(f, buf, 3, &len);
gdi_lfs_close(f);
if (result == FS_NO_ERROR)
if (len == 3)
if (buf[0] == 'G' && buf[1] == 'I' && buf[2] == 'F')
{
return TRUE;
}
return FALSE;
}
改为:
BOOL gdi_image_is_gif_file(U8 *file_name)
{
/*----------------------------------------------------------------*/
/* Local Variables */
/*----------------------------------------------------------------*/
kal_int32 f;
U8 buf[3];
kal_uint32 len;
kal_int32 result;
/*----------------------------------------------------------------*/
/* Code Body */
/*----------------------------------------------------------------*/
f = DRM_open_file(
(U16*) file_name,
FS_READ_ONLY | FS_OPEN_NO_DIR | FS_OPEN_SHARED,
DRM_PERMISSION_DISPLAY);
if (f < 0)
{
return FALSE;
}
result = DRM_read_file(f, buf, 3, &len);
DRM_close_file(f);
if (result == FS_NO_ERROR)
if (len == 3)
if (buf[0] == 'G' && buf[1] == 'I' && buf[2] == 'F')
{
return TRUE;
}
return FALSE;
}
把函数
BOOL gdi_image_is_png_file(U8 *file_name)
{
/*----------------------------------------------------------------*/
/* Local Variables */
/*----------------------------------------------------------------*/
int f;
U8 buf[8];
U32 len;
U32 result;
/*----------------------------------------------------------------*/
/* Code Body */
/*----------------------------------------------------------------*/
f = gdi_lfs_open(gdi_lfs_handle,(U16*) file_name, FS_READ_ONLY | FS_OPEN_NO_DIR | FS_OPEN_SHARED, 0);
if (f < 0) return FALSE;
f = gdi_lfs_handle;
result = gdi_lfs_read(f, buf, 8, &len);
gdi_lfs_close(f);
if (result == FS_NO_ERROR)
if (len == 8)
if (memcmp(buf, "\x89PNG\x0d\x0a\x1a\x0a", 8) == 0)
{
return TRUE;
}
return FALSE;
}
改为:
BOOL gdi_image_is_png_file(U8 *file_name)
{
/*----------------------------------------------------------------*/
/* Local Variables */
/*----------------------------------------------------------------*/
int f;
U8 buf[8];
U32 len;
U32 result;
/*----------------------------------------------------------------*/
/* Code Body */
/*----------------------------------------------------------------*/
f = DRM_open_file(
(U16*) file_name,
FS_READ_ONLY | FS_OPEN_NO_DIR | FS_OPEN_SHARED,
DRM_PERMISSION_DISPLAY);
if (f < 0)
{
return FALSE;
}
result = DRM_read_file(f, buf, 8, &len);
DRM_close_file(f);
if (result == FS_NO_ERROR)
if (len == 8)
if (memcmp(buf, "\x89PNG\x0d\x0a\x1a\x0a", 8) == 0)
{
return TRUE;
}
return FALSE;
}