Fixed following findings reported by cppcheck
* avr910.c:625 (error) Possible null pointer dereference: cmd - otherwise it is redundant to check if cmd is null at line 624 * avr910.c:626 (error) Possible null pointer dereference: cmd - otherwise it is redundant to check if cmd is null at line 624 * avr910.c:168 (information) The scope of the variable 'devtype_1st' can be reduced * avr910.c:169 (information) The scope of the variable 'dev_supported' can be reduced * avrftdi.c:647 (error) Using sizeof for array given as function argument returns the size of pointer. * stk500v2.c:3347 (error) Memory leak: b * stk500v2.c:3452 (error) Memory leak: b * usbasp.c:554 (error) Using sizeof for array given as function argument returns the size of pointer. * usbasp.c:485 (information) The scope of the variable 'dly' can be reduced git-svn-id: svn://svn.savannah.nongnu.org/avrdude/trunk/avrdude@1035 81a1dc3b-b13d-400b-aceb-764788c761c2
This commit is contained in:
parent
1c7843a191
commit
9ccde79fde
13
ChangeLog
13
ChangeLog
|
@ -1,3 +1,16 @@
|
||||||
|
2012-01-08 Rene Liebscher <R.Liebscher@gmx.de>
|
||||||
|
|
||||||
|
Fixed following findings reported by cppcheck
|
||||||
|
* avr910.c:625 (error) Possible null pointer dereference: cmd - otherwise it is redundant to check if cmd is null at line 624
|
||||||
|
* avr910.c:626 (error) Possible null pointer dereference: cmd - otherwise it is redundant to check if cmd is null at line 624
|
||||||
|
* avr910.c:168 (information) The scope of the variable 'devtype_1st' can be reduced
|
||||||
|
* avr910.c:169 (information) The scope of the variable 'dev_supported' can be reduced
|
||||||
|
* avrftdi.c:647 (error) Using sizeof for array given as function argument returns the size of pointer.
|
||||||
|
* stk500v2.c:3347 (error) Memory leak: b
|
||||||
|
* stk500v2.c:3452 (error) Memory leak: b
|
||||||
|
* usbasp.c:554 (error) Using sizeof for array given as function argument returns the size of pointer.
|
||||||
|
* usbasp.c:485 (information) The scope of the variable 'dly' can be reduced
|
||||||
|
|
||||||
2012-01-03 Joerg Wunsch <j.gnu@uriah.heep.sax.de>
|
2012-01-03 Joerg Wunsch <j.gnu@uriah.heep.sax.de>
|
||||||
|
|
||||||
Reported by Jason Kotzin:
|
Reported by Jason Kotzin:
|
||||||
|
|
10
avr910.c
10
avr910.c
|
@ -165,8 +165,7 @@ static int avr910_initialize(PROGRAMMER * pgm, AVRPART * p)
|
||||||
char hw[2];
|
char hw[2];
|
||||||
char buf[10];
|
char buf[10];
|
||||||
char type;
|
char type;
|
||||||
char c, devtype_1st;
|
char c;
|
||||||
int dev_supported = 0;
|
|
||||||
AVRPART * part;
|
AVRPART * part;
|
||||||
|
|
||||||
/* Get the programmer identifier. Programmer returns exactly 7 chars
|
/* Get the programmer identifier. Programmer returns exactly 7 chars
|
||||||
|
@ -223,6 +222,8 @@ static int avr910_initialize(PROGRAMMER * pgm, AVRPART * p)
|
||||||
}
|
}
|
||||||
|
|
||||||
if (PDATA(pgm)->devcode == 0) {
|
if (PDATA(pgm)->devcode == 0) {
|
||||||
|
char devtype_1st;
|
||||||
|
int dev_supported = 0;
|
||||||
|
|
||||||
/* Get list of devices that the programmer supports. */
|
/* Get list of devices that the programmer supports. */
|
||||||
|
|
||||||
|
@ -614,14 +615,15 @@ static int avr910_paged_write(PROGRAMMER * pgm, AVRPART * p, AVRMEM * m,
|
||||||
unsigned int blocksize = PDATA(pgm)->buffersize;
|
unsigned int blocksize = PDATA(pgm)->buffersize;
|
||||||
|
|
||||||
if (strcmp(m->desc, "flash") && strcmp(m->desc, "eeprom"))
|
if (strcmp(m->desc, "flash") && strcmp(m->desc, "eeprom"))
|
||||||
rval = -2;
|
return -2;
|
||||||
|
|
||||||
if (m->desc[0] == 'e')
|
if (m->desc[0] == 'e')
|
||||||
blocksize = 1; /* Write to eeprom single bytes only */
|
blocksize = 1; /* Write to eeprom single bytes only */
|
||||||
avr910_set_addr(pgm, addr);
|
avr910_set_addr(pgm, addr);
|
||||||
|
|
||||||
cmd = malloc(4 + blocksize);
|
cmd = malloc(4 + blocksize);
|
||||||
if (!cmd) rval = -1;
|
if (!cmd) return -1;
|
||||||
|
|
||||||
cmd[0] = 'B';
|
cmd[0] = 'B';
|
||||||
cmd[3] = toupper((int)(m->desc[0]));
|
cmd[3] = toupper((int)(m->desc[0]));
|
||||||
|
|
||||||
|
|
|
@ -46,11 +46,11 @@ int usleep(unsigned int us);
|
||||||
#if !defined(HAVE_GETTIMEOFDAY)
|
#if !defined(HAVE_GETTIMEOFDAY)
|
||||||
struct timezone;
|
struct timezone;
|
||||||
int gettimeofday(struct timeval *tv, struct timezone *tz);
|
int gettimeofday(struct timeval *tv, struct timezone *tz);
|
||||||
|
#endif /* HAVE_GETTIMEOFDAY */
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
#endif /* HAVE_GETTIMEOFDAY */
|
|
||||||
|
|
||||||
#endif /* defined(WIN32NATIVE) */
|
#endif /* defined(WIN32NATIVE) */
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -644,7 +644,9 @@ static void avrftdi_display(PROGRAMMER * pgm, const char *p)
|
||||||
|
|
||||||
static int avrftdi_cmd(PROGRAMMER * pgm, unsigned char cmd[4], unsigned char res[4])
|
static int avrftdi_cmd(PROGRAMMER * pgm, unsigned char cmd[4], unsigned char res[4])
|
||||||
{
|
{
|
||||||
return avrftdi_transmit(TRX, cmd, res, sizeof(cmd));
|
/* Do not use 'sizeof(cmd)'. => message from cppcheck:
|
||||||
|
Using sizeof for array given as function argument returns the size of pointer. */
|
||||||
|
return avrftdi_transmit(TRX, cmd, res, 4);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
12
stk500v2.c
12
stk500v2.c
|
@ -3343,8 +3343,10 @@ static int stk600_xprog_paged_load(PROGRAMMER * pgm, AVRPART * p, AVRMEM * mem,
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (stk500v2_loadaddr(pgm, use_ext_addr) < 0)
|
if (stk500v2_loadaddr(pgm, use_ext_addr) < 0) {
|
||||||
|
free(b);
|
||||||
return -1;
|
return -1;
|
||||||
|
}
|
||||||
|
|
||||||
while (n_bytes != 0) {
|
while (n_bytes != 0) {
|
||||||
b[0] = XPRG_CMD_READ_MEM;
|
b[0] = XPRG_CMD_READ_MEM;
|
||||||
|
@ -3359,6 +3361,7 @@ static int stk600_xprog_paged_load(PROGRAMMER * pgm, AVRPART * p, AVRMEM * mem,
|
||||||
fprintf(stderr,
|
fprintf(stderr,
|
||||||
"%s: stk600_xprog_paged_load(): XPRG_CMD_READ_MEM failed\n",
|
"%s: stk600_xprog_paged_load(): XPRG_CMD_READ_MEM failed\n",
|
||||||
progname);
|
progname);
|
||||||
|
free(b);
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
memcpy(mem->buf + offset, b + 2, page_size);
|
memcpy(mem->buf + offset, b + 2, page_size);
|
||||||
|
@ -3448,8 +3451,10 @@ static int stk600_xprog_paged_write(PROGRAMMER * pgm, AVRPART * p, AVRMEM * mem,
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (stk500v2_loadaddr(pgm, use_ext_addr) < 0)
|
if (stk500v2_loadaddr(pgm, use_ext_addr) < 0) {
|
||||||
|
free(b);
|
||||||
return -1;
|
return -1;
|
||||||
|
}
|
||||||
|
|
||||||
while (n_bytes != 0) {
|
while (n_bytes != 0) {
|
||||||
if (page_size > 256) {
|
if (page_size > 256) {
|
||||||
|
@ -3466,6 +3471,7 @@ static int stk600_xprog_paged_write(PROGRAMMER * pgm, AVRPART * p, AVRMEM * mem,
|
||||||
fprintf(stderr,
|
fprintf(stderr,
|
||||||
"%s: stk600_xprog_paged_write(): page size not multiple of 256\n",
|
"%s: stk600_xprog_paged_write(): page size not multiple of 256\n",
|
||||||
progname);
|
progname);
|
||||||
|
free(b);
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
unsigned int chunk;
|
unsigned int chunk;
|
||||||
|
@ -3494,6 +3500,7 @@ static int stk600_xprog_paged_write(PROGRAMMER * pgm, AVRPART * p, AVRMEM * mem,
|
||||||
fprintf(stderr,
|
fprintf(stderr,
|
||||||
"%s: stk600_xprog_paged_write(): XPRG_CMD_WRITE_MEM failed\n",
|
"%s: stk600_xprog_paged_write(): XPRG_CMD_WRITE_MEM failed\n",
|
||||||
progname);
|
progname);
|
||||||
|
free(b);
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
if (n_bytes < 256)
|
if (n_bytes < 256)
|
||||||
|
@ -3528,6 +3535,7 @@ static int stk600_xprog_paged_write(PROGRAMMER * pgm, AVRPART * p, AVRMEM * mem,
|
||||||
fprintf(stderr,
|
fprintf(stderr,
|
||||||
"%s: stk600_xprog_paged_write(): XPRG_CMD_WRITE_MEM failed\n",
|
"%s: stk600_xprog_paged_write(): XPRG_CMD_WRITE_MEM failed\n",
|
||||||
progname);
|
progname);
|
||||||
|
free(b);
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
if (n_bytes < page_size)
|
if (n_bytes < page_size)
|
||||||
|
|
7
usbasp.c
7
usbasp.c
|
@ -482,7 +482,6 @@ static void usbasp_display(PROGRAMMER * pgm, const char * p)
|
||||||
/* Universal functions: for both SPI and TPI */
|
/* Universal functions: for both SPI and TPI */
|
||||||
static int usbasp_initialize(PROGRAMMER * pgm, AVRPART * p)
|
static int usbasp_initialize(PROGRAMMER * pgm, AVRPART * p)
|
||||||
{
|
{
|
||||||
int dly;
|
|
||||||
unsigned char temp[4];
|
unsigned char temp[4];
|
||||||
unsigned char res[4];
|
unsigned char res[4];
|
||||||
IMPORT_PDATA(pgm);
|
IMPORT_PDATA(pgm);
|
||||||
|
@ -500,7 +499,7 @@ static int usbasp_initialize(PROGRAMMER * pgm, AVRPART * p)
|
||||||
if(pdata->use_tpi)
|
if(pdata->use_tpi)
|
||||||
{
|
{
|
||||||
/* calc tpiclk delay */
|
/* calc tpiclk delay */
|
||||||
dly = 1500000.0 * pgm->bitclock;
|
int dly = 1500000.0 * pgm->bitclock;
|
||||||
if(dly < 1)
|
if(dly < 1)
|
||||||
dly = 1;
|
dly = 1;
|
||||||
else if(dly > 2047)
|
else if(dly > 2047)
|
||||||
|
@ -550,8 +549,10 @@ static int usbasp_initialize(PROGRAMMER * pgm, AVRPART * p)
|
||||||
static int usbasp_spi_cmd(PROGRAMMER * pgm, unsigned char cmd[4],
|
static int usbasp_spi_cmd(PROGRAMMER * pgm, unsigned char cmd[4],
|
||||||
unsigned char res[4])
|
unsigned char res[4])
|
||||||
{
|
{
|
||||||
|
/* Do not use 'sizeof(res)'. => message from cppcheck:
|
||||||
|
Using sizeof for array given as function argument returns the size of pointer. */
|
||||||
int nbytes =
|
int nbytes =
|
||||||
usbasp_transmit(pgm, 1, USBASP_FUNC_TRANSMIT, cmd, res, sizeof(res));
|
usbasp_transmit(pgm, 1, USBASP_FUNC_TRANSMIT, cmd, res, 4);
|
||||||
|
|
||||||
if(nbytes != 4){
|
if(nbytes != 4){
|
||||||
fprintf(stderr, "%s: error: wrong responds size\n",
|
fprintf(stderr, "%s: error: wrong responds size\n",
|
||||||
|
|
Loading…
Reference in New Issue