X-Git-Url: https://git.octo.it/?p=git.git;a=blobdiff_plain;f=diffcore-order.c;h=0bc2b22f848457a8e6ffafc6a1d9a26be677209f;hp=a03862c1ce73995065bf838b408e8a6d9396025b;hb=HEAD;hpb=b43d44779bf98977b211256f936d0edda8a9625a diff --git a/diffcore-order.c b/diffcore-order.c index a03862c1..0bc2b22f 100644 --- a/diffcore-order.c +++ b/diffcore-order.c @@ -28,7 +28,7 @@ static void prepare_order(const char *orderfile) } map = mmap(NULL, st.st_size, PROT_READ|PROT_WRITE, MAP_PRIVATE, fd, 0); close(fd); - if (-1 == (int)(long)map) + if (map == MAP_FAILED) return; endp = map + st.st_size; for (pass = 0; pass < 2; pass++) { @@ -105,9 +105,13 @@ static int compare_pair_order(const void *a_, const void *b_) void diffcore_order(const char *orderfile) { struct diff_queue_struct *q = &diff_queued_diff; - struct pair_order *o = xmalloc(sizeof(*o) * q->nr); + struct pair_order *o; int i; + if (!q->nr) + return; + + o = xmalloc(sizeof(*o) * q->nr); prepare_order(orderfile); for (i = 0; i < q->nr; i++) { o[i].pair = q->queue[i];