On 10.09.2014 00:59, Anuj Phogat wrote: > On Mon, Sep 8, 2014 at 11:53 PM, Juha-Pekka Heikkila > <juhapekka.heikk...@gmail.com> wrote: >> Signed-off-by: Juha-Pekka Heikkila <juhapekka.heikk...@gmail.com> >> --- >> src/glsl/ir_function.cpp | 11 +++++++++-- >> 1 file changed, 9 insertions(+), 2 deletions(-) >> >> diff --git a/src/glsl/ir_function.cpp b/src/glsl/ir_function.cpp >> index 98bec45..2b2643c 100644 >> --- a/src/glsl/ir_function.cpp >> +++ b/src/glsl/ir_function.cpp >> @@ -24,6 +24,7 @@ >> #include "glsl_types.h" >> #include "ir.h" >> #include "glsl_parser_extras.h" >> +#include "main/errors.h" >> >> typedef enum { >> PARAMETER_LIST_NO_MATCH, >> @@ -296,6 +297,7 @@ ir_function::matching_signature(_mesa_glsl_parse_state >> *state, >> bool *is_exact) >> { >> ir_function_signature **inexact_matches = NULL; >> + ir_function_signature **inexact_matches_temp; >> ir_function_signature *match = NULL; >> int num_inexact_matches = 0; >> >> @@ -321,11 +323,16 @@ ir_function::matching_signature(_mesa_glsl_parse_state >> *state, >> free(inexact_matches); >> return sig; >> case PARAMETER_LIST_INEXACT_MATCH: >> - inexact_matches = (ir_function_signature **) >> + inexact_matches_temp = (ir_function_signature **) >> realloc(inexact_matches, >> sizeof(*inexact_matches) * >> (num_inexact_matches + 1)); >> - assert(inexact_matches); >> + if (inexact_matches_temp == NULL) { >> + _mesa_error_no_memory(__func__); >> + free(inexact_matches); > This free is not required. inexact_matches is null.
Why is inexact matches null? This reallocation is inside foreach_in_list{..} and the amount of inexact matches is counted with num_inexact_matches variable. If we're not getting the null from realloc on the first run inexact_matches would have valid pointer. >> + return NULL; >> + } >> + inexact_matches = inexact_matches_temp; >> inexact_matches[num_inexact_matches++] = sig; >> continue; >> case PARAMETER_LIST_NO_MATCH: >> -- >> 1.8.5.1 >> >> _______________________________________________ >> mesa-dev mailing list >> mesa-dev@lists.freedesktop.org >> http://lists.freedesktop.org/mailman/listinfo/mesa-dev _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev