From 70791d8e8e46eb4d7cf6e39192d0fff6460ce012 Mon Sep 17 00:00:00 2001 From: Kamil Dudka Date: Sun, 27 Dec 2009 01:18:48 +0100 Subject: [PATCH] fix memory leak in attr_parse_attr_conf() originally reported at https://bugzilla.redhat.com/485473 --- libattr/attr_copy_action.c | 11 ++++++----- 1 files changed, 6 insertions(+), 5 deletions(-) diff --git a/libattr/attr_copy_action.c b/libattr/attr_copy_action.c index 0d7aca5..dc94224 100644 --- a/libattr/attr_copy_action.c +++ b/libattr/attr_copy_action.c @@ -53,7 +53,7 @@ free_attr_actions(void) static int attr_parse_attr_conf(struct error_context *ctx) { - char *text, *t; + char *text = NULL, *t; size_t size_guess = 4096, len; FILE *file; char *pattern = NULL; @@ -64,15 +64,16 @@ attr_parse_attr_conf(struct error_context *ctx) return 0; repeat: - text = malloc(size_guess + 1); - if (!text) - goto fail; - if ((file = fopen(ATTR_CONF, "r")) == NULL) { if (errno == ENOENT) return 0; goto fail; } + + text = malloc(size_guess + 1); + if (!text) + goto fail; + len = fread(text, 1, size_guess, file); if (ferror(file)) goto fail; -- 1.6.2.5