On Wed, May 27, 2015 at 3:20 AM, Emil Velikov <emil.l.veli...@gmail.com> wrote: > On 27/05/15 00:12, Marek Olšák wrote: >> On Wed, May 27, 2015 at 3:07 AM, Emil Velikov <emil.l.veli...@gmail.com> >> wrote: >>> On 26/05/15 21:59, Marek Olšák wrote: >>>> From: Marek Olšák <marek.ol...@amd.com> >>>> >>>> This is a fix for the EGL 1.5 patch series. >>> Can you squash this with the offending patches (12 and 13). Pretty >>> please :-) >>> >>>> --- >>>> src/egl/main/eglapi.c | 25 +++++++++++++++++++------ >>>> 1 file changed, 19 insertions(+), 6 deletions(-) >>>> >>>> diff --git a/src/egl/main/eglapi.c b/src/egl/main/eglapi.c >>>> index 7afc091..3df4968 100644 >>>> --- a/src/egl/main/eglapi.c >>>> +++ b/src/egl/main/eglapi.c >>>> @@ -263,13 +263,14 @@ _eglConvertAttribsToInt(const EGLAttrib *attr_list) >>>> while (attr_list[size] != EGL_NONE) >>>> size += 2; >>>> >>>> - if (size) { >>>> - size += 1; /* add space for EGL_NONE */ >>>> - int_attribs = malloc(size * sizeof(int_attribs[0])); >>>> + size += 1; /* add space for EGL_NONE */ >>>> >>>> - for (i = 0; i < size; i++) >>>> - int_attribs[i] = attr_list[i]; >>>> - } >>>> + int_attribs = malloc(size * sizeof(int_attribs[0])); >>>> + if (!int_attribs) >>>> + return NULL; >>>> + >>>> + for (i = 0; i < size; i++) >>>> + int_attribs[i] = attr_list[i]; >>> Set the final value int_attrib[size] to EGL_NONE ? >> >> EGL_NONE is already set by the user, that's why "size" is always +1. >> > Most likely I'm missing something extremely obvious, so if you can bare > with me that'll be appreciated: > - First we walk through the attr_list, looking for the size (without > the sentinel/terminating EGL_NONE). > - Then we allocate a "size + 1" sized array and copy only the first > "size" elements.
"size" is in the form "2*n+1" because of these: while (attr_list[size] != EGL_NONE) size += 2; size += 1; Then, "size" elements are allocated and copied. Marek _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev