Branch: Tag:

2013-03-12

2013-03-12 22:42:10 by Arne Goedeke <el@laramies.com>

pike_memory: add guaranteed_memset()

Most compilers (gcc in recent versions) optimize away memset before
free. This can prevent sensitive data from being wiped.

1121:    if (!(s->flags & STRING_NOT_SHARED))    unlink_pike_string(s);    if (s->flags & STRING_CLEAR_ON_EXIT) -  MEMSET(s->str, 0, s->len<<s->size_shift); +  guaranteed_memset(s->str, 0, s->len<<s->size_shift);    free_unlinked_pike_string(s);    GC_FREE_SIMPLE_BLOCK(s);   }