зеркало из https://github.com/microsoft/git.git
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
This commit is contained in:
Коммит
449f2db75d
18
progress.c
18
progress.c
|
@ -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)
|
|||
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;
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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"
|
||||
|
|
Загрузка…
Ссылка в новой задаче