Fixed bug 1805 - Memory Leak issue in src/video/x11/edid-parse.c file
Nitz In Function, MonitorInfo * decode_edid (const uchar *edid) In this function "info" is going out of scope and leaks the storage it points to, if the first if condition get true: if (!decode_header (edid)) return NULL; So while returning from this if statement there should be free for "info" pointer.
This commit is contained in:
parent
a438cbd7fe
commit
090d061ff2
1 changed files with 10 additions and 22 deletions
|
@ -524,29 +524,17 @@ decode_edid (const uchar *edid)
|
|||
|
||||
decode_check_sum (edid, info);
|
||||
|
||||
if (!decode_header (edid))
|
||||
return NULL;
|
||||
|
||||
if (!decode_vendor_and_product_identification (edid, info))
|
||||
return NULL;
|
||||
|
||||
if (!decode_edid_version (edid, info))
|
||||
return NULL;
|
||||
|
||||
if (!decode_display_parameters (edid, info))
|
||||
return NULL;
|
||||
|
||||
if (!decode_color_characteristics (edid, info))
|
||||
return NULL;
|
||||
|
||||
if (!decode_established_timings (edid, info))
|
||||
return NULL;
|
||||
|
||||
if (!decode_standard_timings (edid, info))
|
||||
return NULL;
|
||||
|
||||
if (!decode_descriptors (edid, info))
|
||||
if (!decode_header (edid) ||
|
||||
!decode_vendor_and_product_identification (edid, info) ||
|
||||
!decode_edid_version (edid, info) ||
|
||||
!decode_display_parameters (edid, info) ||
|
||||
!decode_color_characteristics (edid, info) ||
|
||||
!decode_established_timings (edid, info) ||
|
||||
!decode_standard_timings (edid, info) ||
|
||||
!decode_descriptors (edid, info)) {
|
||||
free(info);
|
||||
return NULL;
|
||||
}
|
||||
|
||||
return info;
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue