From 6861dd806714d2e748eff31b731a051f40f6fe30 Mon Sep 17 00:00:00 2001 From: Stefan Rueger Date: Tue, 13 Jun 2023 22:39:30 +0100 Subject: [PATCH] Fix memory leak in avrcache.c --- src/avrcache.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/avrcache.c b/src/avrcache.c index 46efe908..df24b198 100644 --- a/src/avrcache.c +++ b/src/avrcache.c @@ -144,11 +144,11 @@ int avr_read_page_default(const PROGRAMMER *pgm, const AVRPART *p, const AVRMEM return LIBAVRDUDE_GENERAL_FAILURE; int rc, pgsize = mem->page_size, base = addr & ~(pgsize-1); - unsigned char *pagecopy = cfg_malloc("avr_read_page_default()", pgsize); if(pgsize == 1) return fallback_read_byte(pgm, p, mem, addr, buf); + unsigned char *pagecopy = cfg_malloc(__func__, pgsize); memcpy(pagecopy, mem->buf + base, pgsize); if((rc = pgm->paged_load(pgm, p, mem, pgsize, base, pgsize)) >= 0) memcpy(buf, mem->buf + base, pgsize); @@ -182,11 +182,11 @@ int avr_write_page_default(const PROGRAMMER *pgm, const AVRPART *p, const AVRMEM return LIBAVRDUDE_GENERAL_FAILURE; int rc, pgsize = mem->page_size, base = addr & ~(pgsize-1); - unsigned char *pagecopy = cfg_malloc("avr_write_page_default()", pgsize); if(pgsize == 1) return fallback_write_byte(pgm, p, mem, addr, *data); + unsigned char *pagecopy = cfg_malloc(__func__, pgsize); memcpy(pagecopy, mem->buf + base, pgsize); memcpy(mem->buf + base, data, pgsize); rc = pgm->paged_write(pgm, p, mem, pgsize, base, pgsize);