From 38d792793c76449d6bc53158133ca3aa326285d6 Mon Sep 17 00:00:00 2001 From: Joerg Wunsch Date: Thu, 2 Jul 2009 09:11:45 +0000 Subject: [PATCH] bug #26408: Crash in stk500v2_open() * stk500generic.c: Implement setup and teardown hooks, calling in turn the respective hooks of the stk500v2 implementation. git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@824 81a1dc3b-b13d-400b-aceb-764788c761c2 --- ChangeLog | 6 ++++++ stk500generic.c | 18 ++++++++++++++++++ 2 files changed, 24 insertions(+) diff --git a/ChangeLog b/ChangeLog index a66ad812..d0bcf4a7 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2009-07-02 Joerg Wunsch + + bug #26408: Crash in stk500v2_open() + * stk500generic.c: Implement setup and teardown hooks, calling in turn + the respective hooks of the stk500v2 implementation. + 2009-07-02 Joerg Wunsch bug #26130: Avrdude doesn't display it's version. diff --git a/stk500generic.c b/stk500generic.c index 527c2302..12125393 100644 --- a/stk500generic.c +++ b/stk500generic.c @@ -65,9 +65,27 @@ static int stk500generic_open(PROGRAMMER * pgm, char * port) return -1; } +static void stk500generic_setup(PROGRAMMER * pgm) +{ + /* + * Only STK500v2 needs setup/teardown. + */ + stk500v2_initpgm(pgm); + pgm->setup(pgm); +} + +static void stk500generic_teardown(PROGRAMMER * pgm) +{ + stk500v2_initpgm(pgm); + pgm->teardown(pgm); +} + + void stk500generic_initpgm(PROGRAMMER * pgm) { strcpy(pgm->type, "STK500GENERIC"); pgm->open = stk500generic_open; + pgm->setup = stk500generic_setup; + pgm->teardown = stk500generic_teardown; }