diff options
author | marha <marha@users.sourceforge.net> | 2014-10-01 23:12:13 +0200 |
---|---|---|
committer | marha <marha@users.sourceforge.net> | 2014-10-01 23:12:13 +0200 |
commit | 88236adfe3eb41b8368b4c9ecf3e09a7199dc474 (patch) | |
tree | 6acb3f7ad3c60c4605551245df9c321b5fb22c3b /mesalib/src/glsl/ir_function.cpp | |
parent | e4086b3defb6186a2fb8a5845968c97e613fb493 (diff) | |
parent | 30eb28e89e513ba7c04e8424be0cba326a01882b (diff) | |
download | vcxsrv-88236adfe3eb41b8368b4c9ecf3e09a7199dc474.tar.gz vcxsrv-88236adfe3eb41b8368b4c9ecf3e09a7199dc474.tar.bz2 vcxsrv-88236adfe3eb41b8368b4c9ecf3e09a7199dc474.zip |
Merge remote-tracking branch 'origin/released'
Conflicts:
xorg-server/hw/xwin/InitOutput.c
xorg-server/hw/xwin/win.h
xorg-server/hw/xwin/winclipboard/internal.h
xorg-server/hw/xwin/winclipboard/thread.c
xorg-server/hw/xwin/winclipboard/wndproc.c
xorg-server/hw/xwin/winclipboard/xevents.c
xorg-server/hw/xwin/winclipboardinit.c
xorg-server/hw/xwin/winclipboardwrappers.c
xorg-server/hw/xwin/winglobals.c
Diffstat (limited to 'mesalib/src/glsl/ir_function.cpp')
-rw-r--r-- | mesalib/src/glsl/ir_function.cpp | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/mesalib/src/glsl/ir_function.cpp b/mesalib/src/glsl/ir_function.cpp index 98bec45ce..2b2643c64 100644 --- a/mesalib/src/glsl/ir_function.cpp +++ b/mesalib/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); + return NULL; + } + inexact_matches = inexact_matches_temp; inexact_matches[num_inexact_matches++] = sig; continue; case PARAMETER_LIST_NO_MATCH: |