[Pkg-nlp-ja-devel] Bug#881231: chasen-dictutils: writes uninitialized memory to .dat files

Vagrant Cascadian vagrant @ debian.org
2017年 11月 9日 (木) 07:12:32 UTC


On 2017-11-08, Bernhard M. Wiedemann wrote:
> While working on the “reproducible builds” effort [1] for openSUSE,
> we have noticed that ipadic could not be built reproducibly [2]
> and the same is the case for Debian [3].
>
> The attached patch initializes memory written to .dat files.
> Once applied, ipadic can be built reproducibly in our current
> experimental framework.

I can confirm that the patch fixed the issue when building on Debian
Stretch. I'm guessing sid or buster would work as well.

live well,
  vagrant

> Index: chasen-2.4.4/mkchadic/dumpdic.c
> ===================================================================
> --- chasen-2.4.4.orig/mkchadic/dumpdic.c
> +++ chasen-2.4.4/mkchadic/dumpdic.c
> @@ -45,6 +45,7 @@ dump_dat(lexicon_t *lex, FILE *datfile,
>      long index;
>      da_dat_t dat;
>  
> +    memset(&dat, 0, sizeof(dat));
>      index = ftell(datfile);
>      dat.stem_len = lex->stem_len;
>      dat.reading_len = lex->reading_len;
> @@ -137,6 +138,7 @@ dump_dic(lexicon_t *entries, FILE *outpu
>      da_lex_t lex;
>      long compound = NO_COMPOUND;
>  
> +    memset(&lex, 0, sizeof(lex));
>      if (entries[1].pos)
>  	compound = dump_compound(entries, lexfile, datfile);
-------------- next part --------------
$B%F%-%9%H7A<00J30$NE:IU%U%!%$%k$rJ]4I$7$^$7$?(B...
$B%U%!%$%kL>(B: signature.asc
$B7?(B:         application/pgp-signature
$B%5%$%:(B:     832 $B%P%$%H(B
$B @ bL@(B:       $BL5$7(B
URL:        <http://lists.alioth.debian.org/pipermail/pkg-nlp-ja-devel/attachments/20171108/0206c744/attachment.sig>


Pkg-nlp-ja-devel メーリングリストの案内