--- a/mercurial/cext/revlog.c Wed Aug 08 23:36:15 2018 -0700
+++ b/mercurial/cext/revlog.c Wed Aug 08 23:41:50 2018 -0700
@@ -991,12 +991,11 @@
if (self->length == self->capacity) {
unsigned newcapacity;
nodetreenode *newnodes;
- if (self->capacity >= INT_MAX / (sizeof(nodetreenode) * 2)) {
- PyErr_SetString(PyExc_MemoryError,
- "overflow in nt_new");
+ newcapacity = self->capacity * 2;
+ if (newcapacity >= INT_MAX / sizeof(nodetreenode)) {
+ PyErr_SetString(PyExc_MemoryError, "overflow in nt_new");
return -1;
}
- newcapacity = self->capacity * 2;
newnodes = realloc(self->nodes, newcapacity * sizeof(nodetreenode));
if (newnodes == NULL) {
PyErr_SetString(PyExc_MemoryError, "out of memory");