• Tim Peters's avatar
    Bugfix candidate. · 91a364df
    Tim Peters yazdı
    Two exceedingly unlikely errors in dictresize():
    1. The loop for finding the new size had an off-by-one error at the
       end (could over-index the polys[] vector).
    2. The polys[] vector ended with a 0, apparently intended as a sentinel
       value but never used as such; i.e., it was never checked, so 0 could
       have been used *as* a polynomial.
    Neither bug could trigger unless a dict grew to 2**30 slots; since that
    would consume at least 12GB of memory just to hold the dict pointers,
    I'm betting it's not the cause of the bug Fred's tracking down <wink>.
    91a364df
dictobject.c 39.7 KB