diff --git a/src/jtag/tcl.c b/src/jtag/tcl.c index 3b2f83b5a..468edf5e5 100644 --- a/src/jtag/tcl.c +++ b/src/jtag/tcl.c @@ -172,6 +172,7 @@ static int Jim_Command_drscan(Jim_Interp *interp, int argc, Jim_Obj *const *args } num_fields = (argc-2)/2; + assert(num_fields > 0); fields = malloc(sizeof(struct scan_field) * num_fields); for (i = 2; i < argc; i += 2) { diff --git a/src/target/image.c b/src/target/image.c index 21ce11f63..8f437c035 100644 --- a/src/target/image.c +++ b/src/target/image.c @@ -473,6 +473,8 @@ static int image_elf_read_headers(struct image *image) if ((field32(elf, elf->segments[i].p_type) == PT_LOAD) && (field32(elf, elf->segments[i].p_filesz) != 0)) image->num_sections++; + assert(image->num_sections > 0); + /** * some ELF linkers produce binaries with *all* the program header * p_paddr fields zero (there can be however one loadable segment