diff --git a/mercurial/cext/manifest.c b/mercurial/cext/manifest.c --- a/mercurial/cext/manifest.c +++ b/mercurial/cext/manifest.c @@ -137,13 +137,13 @@ return MANIFEST_TOO_SHORT_LINE; } next++; /* advance past newline */ - if (!realloc_if_full(self)) { - return MANIFEST_OOM; /* no memory */ - } if (prev && strcmp(prev, data) > -1) { /* This data isn't sorted, so we have to abort. */ return MANIFEST_NOT_SORTED; } + if (!realloc_if_full(self)) { + return MANIFEST_OOM; /* no memory */ + } l = self->lines + ((self->numlines)++); l->start = data; l->len = next - data;