diff --git a/src/modules/evas/engines/gl_common/evas_gl_api.c b/src/modules/evas/engines/gl_common/evas_gl_api.c index 6b93548524..0871467cbe 100644 --- a/src/modules/evas/engines/gl_common/evas_gl_api.c +++ b/src/modules/evas/engines/gl_common/evas_gl_api.c @@ -2120,15 +2120,18 @@ do_eglShaderPatch(const char *source, int length, int *patched_len) { if (!strncmp(p, "gl_MaxVertexUniformVectors", 26)) { - p = "(gl_MaxVertexUniformComponents / 4)"; + free(p); + p = strdup("(gl_MaxVertexUniformComponents / 4)"); } else if (!strncmp(p, "gl_MaxFragmentUniformVectors", 28)) { - p = "(gl_MaxFragmentUniformComponents / 4)"; + free(p); + p = strdup("(gl_MaxFragmentUniformComponents / 4)"); } else if (!strncmp(p, "gl_MaxVaryingVectors", 20)) { - p = "(gl_MaxVaryingFloats / 4)"; + free(p); + p = strdup("(gl_MaxVaryingFloats / 4)"); } int new_len = strlen(p); diff --git a/src/modules/evas/engines/software_generic/evas_engine.c b/src/modules/evas/engines/software_generic/evas_engine.c index 60c639a085..3fb420a395 100644 --- a/src/modules/evas/engines/software_generic/evas_engine.c +++ b/src/modules/evas/engines/software_generic/evas_engine.c @@ -3330,15 +3330,18 @@ patch_gles_shader(const char *source, int length, int *patched_len) { if (!strncmp(p, "gl_MaxVertexUniformVectors", 26)) { - p = "(gl_MaxVertexUniformComponents / 4)"; + free(p); + p = strdup("(gl_MaxVertexUniformComponents / 4)"); } else if (!strncmp(p, "gl_MaxFragmentUniformVectors", 28)) { - p = "(gl_MaxFragmentUniformComponents / 4)"; + free(p); + p = strdup("(gl_MaxFragmentUniformComponents / 4)"); } else if (!strncmp(p, "gl_MaxVaryingVectors", 20)) { - p = "(gl_MaxVaryingFloats / 4)"; + free(p); + p = strdup("(gl_MaxVaryingFloats / 4)"); } int new_len = strlen(p);