diff options
author | Ivan Maidanski <ivmai@mail.ru> | 2020-04-10 23:32:35 +0300 |
---|---|---|
committer | Ivan Maidanski <ivmai@mail.ru> | 2020-04-10 23:32:35 +0300 |
commit | c29373ea17ebe7c22be4762b33f49f27383e9cca (patch) | |
tree | 6f1fc8adc75581b83fb053fb37d8ed7253620332 /os_dep.c | |
parent | 9bbeb2cb5cf4a69a0c26f331f7fdb296d72c5170 (diff) | |
download | bdwgc-c29373ea17ebe7c22be4762b33f49f27383e9cca.tar.gz |
Eliminate 'passing tainted var maps_buf to tainted sink' code defect FP
* os_dep.c [NEED_PROC_MAPS && LINT2] (GC_get_maps): Clear maps_buf
content (if maps_buf is non-null) before passing to
GC_scratch_recycle_no_gww().
Diffstat (limited to 'os_dep.c')
-rw-r--r-- | os_dep.c | 5 |
1 files changed, 5 insertions, 0 deletions
@@ -199,6 +199,11 @@ GC_INNER char * GC_get_maps(void) int f; while (maps_size >= maps_buf_sz) { +# ifdef LINT2 + /* Workaround passing tainted maps_buf to a tainted sink. */ + if (maps_buf != NULL) + BZERO(maps_buf, maps_buf_sz); +# endif GC_scratch_recycle_no_gww(maps_buf, maps_buf_sz); /* Grow only by powers of 2, since we leak "too small" buffers.*/ while (maps_size >= maps_buf_sz) maps_buf_sz *= 2; |