{"push_id":1437068268,"size":1,"distinct_size":1,"ref":"refs/heads/protect-caml_global_data","head":"1cd79f76b69693c7e996d059635d5653d47d2431","before":"14d74995694962653c09798b8191db37cc95af77","commits":[{"sha":"1cd79f76b69693c7e996d059635d5653d47d2431","author":{"name":"Gabriel Scherer","email":"a3945f45cfbfa37d2c6e8548d8a3f60ffaaa95a0@gmail.com"},"message":"PR#5115: harden all byterun/fail.c exceptions against caml_global_data\n\nIn SVN commit 10793 ( git commit\nf67d5c8de8d2d6f8ff526af12b01f84309abfbd2 ), the bytecode runtime\nimplementations of caml_{failwith,invalid_argument} were hardened to\nwork when caml_global_data was not yet initialized. This is required\nas those exception-raising functions are called by demarshalling\nroutines in intern.c, and could be called from there during\ncaml_global_data initialization by the bytecode runtime.\n\nHowever, the code of intern.c also contains calls to other\nexception-raising functions such as, currently,\ncaml_raise_out_of_memory and caml_end_of_file. This change defensively\nprotects all accesses to caml_global_data in byterun/fail.c.\n\n(Only the bytecode versions of caml_raise_* are changed, there is no\ndifference for the native runtime.)","distinct":true,"url":"https://api.github.com/repos/gasche/ocaml/commits/1cd79f76b69693c7e996d059635d5653d47d2431"}]}
{"actor":{"display_login":"gasche"}}