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; }