make-string et al nulls memory if not given an initializer
authorAndy Wingo <wingo@pobox.com>
Sat, 4 Dec 2010 18:31:20 +0000 (19:31 +0100)
committerAndy Wingo <wingo@pobox.com>
Sat, 4 Dec 2010 18:31:20 +0000 (19:31 +0100)
commit3ef6650def28f7c29a2cc983086468d3195167d4
tree17d477ff5489b1c29796495e8af32edb01a6ec77
parent8556760c234b75e1faba956ba7b3b44175783459
make-string et al nulls memory if not given an initializer

* libguile/gc-malloc.c: Add a note that the gc-malloc does not clear the
  memory block, so users need to make sure it is initialized.

* libguile/bitvectors.c (scm_c_make_bitvector):
* libguile/bytevectors.c (scm_make_bytevector):
* libguile/strings.c (scm_c_make_string): If no initializer is given,
  initialize the bytes to 0. Prevents information leakage if an app uses
  make-string et al without initializers.

* libguile/foreign.c (make_cif): Initialize this too, to prevent leakage
  in the struct holes. Paranoia...
libguile/bitvectors.c
libguile/bytevectors.c
libguile/foreign.c
libguile/gc-malloc.c
libguile/strings.c