Guard against allocating 0 outputs and 0 possible outputs.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
This commit is contained in:
Chris Michael 2013-07-25 13:09:34 +01:00
parent 8aef3fa98a
commit 551610fa41
1 changed files with 18 additions and 12 deletions

View File

@ -1890,6 +1890,8 @@ ecore_x_randr_crtc_info_get(Ecore_X_Window root, const Ecore_X_Randr_Crtc crtc)
ret->noutput = info->noutput;
ret->npossible = info->npossible;
if (input->noutput > 0)
{
if ((ret->outputs =
malloc(info->noutput * sizeof(Ecore_X_Randr_Output))))
{
@ -1899,7 +1901,10 @@ ecore_x_randr_crtc_info_get(Ecore_X_Window root, const Ecore_X_Randr_Crtc crtc)
for (i = 0; i < info->noutput; i++)
ret->outputs[i] = info->outputs[i];
}
}
if (info->npossible > 0)
{
if ((ret->possible =
malloc(info->npossible * sizeof(Ecore_X_Randr_Output))))
{
@ -1910,6 +1915,7 @@ ecore_x_randr_crtc_info_get(Ecore_X_Window root, const Ecore_X_Randr_Crtc crtc)
ret->possible[i] = info->possible[i];
}
}
}
/* free the crtc info */
XRRFreeCrtcInfo(info);