From 33e7a56b1c2fb94e10af1cbb1f2f3affa4871946 Mon Sep 17 00:00:00 2001 From: Stefan Rueger Date: Fri, 19 Apr 2024 19:16:37 +0100 Subject: [PATCH 1/3] Update programmer description --- src/usbtiny.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/usbtiny.c b/src/usbtiny.c index 7c673e8c..952c4c25 100644 --- a/src/usbtiny.c +++ b/src/usbtiny.c @@ -818,5 +818,4 @@ void usbtiny_initpgm(PROGRAMMER *pgm) { #endif /* HAVE_LIBUSB */ -const char usbtiny_desc[] = "Driver for \"usbtiny\"-type programmers"; - +const char usbtiny_desc[] = "Usbtiny-type programmers incl arduinoisp, arduino_gemma and adafruit_gemma"; From c2c1bda3c5e5cc2233edda315b63d86c8341ecb8 Mon Sep 17 00:00:00 2001 From: Stefan Rueger Date: Fri, 19 Apr 2024 19:33:39 +0100 Subject: [PATCH 2/3] Utilise magic memory tree interface for usbtiny.c --- src/avrdude.h | 1 + src/usbtiny.c | 14 ++++---------- 2 files changed, 5 insertions(+), 10 deletions(-) diff --git a/src/avrdude.h b/src/avrdude.h index c679a654..6b777d30 100644 --- a/src/avrdude.h +++ b/src/avrdude.h @@ -44,6 +44,7 @@ extern const char *pgmid; // Programmer -c string #define mmt_strdup(s) cfg_strdup(__func__, s) #define mmt_malloc(n) cfg_malloc(__func__, n) #define mmt_realloc(p, n) cfg_realloc(__func__, p, n) +#define mmt_free(p) free(p) int avrdude_message2(FILE *fp, int lno, const char *file, const char *func, int msgmode, int msglvl, const char *format, ...); diff --git a/src/usbtiny.c b/src/usbtiny.c index 952c4c25..ca319cf6 100644 --- a/src/usbtiny.c +++ b/src/usbtiny.c @@ -76,18 +76,12 @@ struct pdata // ---------------------------------------------------------------------- -static void usbtiny_setup(PROGRAMMER * pgm) -{ - if ((pgm->cookie = malloc(sizeof(struct pdata))) == 0) { - pmsg_error("out of memory allocating private data\n"); - exit(1); - } - memset(pgm->cookie, 0, sizeof(struct pdata)); +static void usbtiny_setup(PROGRAMMER *pgm) { + pgm->cookie = mmt_malloc(sizeof(struct pdata)); } -static void usbtiny_teardown(PROGRAMMER * pgm) -{ - free(pgm->cookie); +static void usbtiny_teardown(PROGRAMMER *pgm) { + mmt_free(pgm->cookie); } // Wrapper for simple usb_control_msg messages From cb10e6b16777a2511e9070280b97bb1ab5b9d637 Mon Sep 17 00:00:00 2001 From: Stefan Rueger Date: Mon, 22 Apr 2024 15:47:55 +0100 Subject: [PATCH 3/3] Render double teardown() harmless in usbtiny --- src/usbtiny.c | 1 + 1 file changed, 1 insertion(+) diff --git a/src/usbtiny.c b/src/usbtiny.c index ca319cf6..10b00f54 100644 --- a/src/usbtiny.c +++ b/src/usbtiny.c @@ -82,6 +82,7 @@ static void usbtiny_setup(PROGRAMMER *pgm) { static void usbtiny_teardown(PROGRAMMER *pgm) { mmt_free(pgm->cookie); + pgm->cookie = NULL; } // Wrapper for simple usb_control_msg messages