发现了KMCLib中的数组内存越界隐患
之前在看代码的时候就发现了这个问题,就是在初始化configuration的match_lists的时候,最后一步是为configuration分配内存空间,但是作者使用的是match_lists中的第一个minimal_match_list的长度来分配内存,这样就留下了数组越界的隐患,我写了个单元测试,测试了下,果然!
因为由于周期性边界条件的原因,第一个minimal_match_list可能并不是长度最长的
于是我就向leetmaa/KMCLib的主分支提交了自己的代码,今天他接受了我的pull requests。具体的pull request信息以及我做的bug修复就不多扯了,贴上github上的链接来好了:
Fix the out-of-bound bug by PytLab · Pull Request #5 · leetmaa/KMCLib