diff options
author | Lukasz Kostyra <l.kostyra@samsung.com> | 2021-10-19 11:17:03 +0200 |
---|---|---|
committer | Lukasz Kostyra <l.kostyra@samsung.com> | 2021-10-20 10:21:36 +0200 |
commit | 547bdb963e23c9f4ea2ed90d9a7e8153254b9097 (patch) | |
tree | 3abbc3cf668a1d928bf92af82c08da04afde3fea /GLESv2/yagl_gles3_program.c | |
parent | d1ff1f2fa6e0a7bd7c989d4061ad91a430ebe6ae (diff) | |
download | emulator-yagl-547bdb963e23c9f4ea2ed90d9a7e8153254b9097.tar.gz emulator-yagl-547bdb963e23c9f4ea2ed90d9a7e8153254b9097.tar.bz2 emulator-yagl-547bdb963e23c9f4ea2ed90d9a7e8153254b9097.zip |
yagl_gles3_program: Replace strcpy with strncpy for safety
Fixes defect WGID 443657
Change-Id: I0c57b2b7f23175e218d17dce6320af51550f238b
Diffstat (limited to 'GLESv2/yagl_gles3_program.c')
-rw-r--r-- | GLESv2/yagl_gles3_program.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/GLESv2/yagl_gles3_program.c b/GLESv2/yagl_gles3_program.c index 867cee8..a304bda 100644 --- a/GLESv2/yagl_gles3_program.c +++ b/GLESv2/yagl_gles3_program.c @@ -316,7 +316,8 @@ void yagl_gles3_program_get_uniform_indices(struct yagl_gles2_program *program, yagl_free(var->name); var->name = yagl_malloc(var->name_size); - strcpy(var->name, names[fetch_positions[i]]); + strncpy(var->name, names[fetch_positions[i]], var->name_size); + var->name[var->name_size] = 0; var->name_fetched = 1; } @@ -357,11 +358,12 @@ GLuint yagl_gles3_program_get_uniform_block_index(struct yagl_gles2_program *pro if ((i != GL_INVALID_INDEX) && (i < program->num_active_uniform_blocks)) { block = &program->active_uniform_blocks[i]; - block->name_size = block_name_size; + block->name_size = block_name_size + 1; yagl_free(block->name); block->name = yagl_malloc(block_name_size); - strcpy(block->name, block_name); + strncpy(block->name, block_name, block_name_size); + block->name[block_name_size] = 0; block->name_fetched = 1; } |