Browse Source

Merge branch 'jk/xmalloc'

The code is updated to check the result of memory allocation before
it is used in more places, by using xmalloc and/or xcalloc calls.

* jk/xmalloc:
  progress: use xmalloc/xcalloc
  xdiff: use xmalloc/xrealloc
  xdiff: use git-compat-util
  test-prio-queue: use xmalloc
maint
Junio C Hamano 6 years ago
parent
commit
449f2db75d
  1. 18
      progress.c
  2. 2
      t/helper/test-prio-queue.c
  3. 4
      xdiff/xdiff.h
  4. 8
      xdiff/xinclude.h

18
progress.c

@ -167,12 +167,10 @@ void display_throughput(struct progress *progress, uint64_t total) @@ -167,12 +167,10 @@ void display_throughput(struct progress *progress, uint64_t total)
now_ns = getnanotime();

if (!tp) {
progress->throughput = tp = calloc(1, sizeof(*tp));
if (tp) {
tp->prev_total = tp->curr_total = total;
tp->prev_ns = now_ns;
strbuf_init(&tp->display, 0);
}
progress->throughput = tp = xcalloc(1, sizeof(*tp));
tp->prev_total = tp->curr_total = total;
tp->prev_ns = now_ns;
strbuf_init(&tp->display, 0);
return;
}
tp->curr_total = total;
@ -225,13 +223,7 @@ void display_progress(struct progress *progress, uint64_t n) @@ -225,13 +223,7 @@ void display_progress(struct progress *progress, uint64_t n)
static struct progress *start_progress_delay(const char *title, uint64_t total,
unsigned delay, unsigned sparse)
{
struct progress *progress = malloc(sizeof(*progress));
if (!progress) {
/* unlikely, but here's a good fallback */
fprintf(stderr, "%s...\n", title);
fflush(stderr);
return NULL;
}
struct progress *progress = xmalloc(sizeof(*progress));
progress->title = title;
progress->total = total;
progress->last_value = -1;

2
t/helper/test-prio-queue.c

@ -40,7 +40,7 @@ int cmd__prio_queue(int argc, const char **argv) @@ -40,7 +40,7 @@ int cmd__prio_queue(int argc, const char **argv)
} else if (!strcmp(*argv, "stack")) {
pq.compare = NULL;
} else {
int *v = malloc(sizeof(*v));
int *v = xmalloc(sizeof(*v));
*v = atoi(*argv);
prio_queue_put(&pq, v);
}

4
xdiff/xdiff.h

@ -113,9 +113,9 @@ typedef struct s_bdiffparam { @@ -113,9 +113,9 @@ typedef struct s_bdiffparam {
} bdiffparam_t;


#define xdl_malloc(x) malloc(x)
#define xdl_malloc(x) xmalloc(x)
#define xdl_free(ptr) free(ptr)
#define xdl_realloc(ptr,x) realloc(ptr,x)
#define xdl_realloc(ptr,x) xrealloc(ptr,x)

void *xdl_mmfile_first(mmfile_t *mmf, long *size);
long xdl_mmfile_size(mmfile_t *mmf);

8
xdiff/xinclude.h

@ -23,13 +23,7 @@ @@ -23,13 +23,7 @@
#if !defined(XINCLUDE_H)
#define XINCLUDE_H

#include <ctype.h>
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <string.h>
#include <limits.h>

#include "git-compat-util.h"
#include "xmacros.h"
#include "xdiff.h"
#include "xtypes.h"

Loading…
Cancel
Save