X-Git-Url: https://review.openocd.org/gitweb?p=openocd.git;a=blobdiff_plain;f=src%2Ftarget%2Fimage.c;h=e7b7067d93fd99933271220c5cec987a2a333d13;hp=48c6a6c8cb7a18cae05cb6ac6d6fc02e1d1c1635;hb=503bb08f9993c59a4b3206600555a42fd18459b6;hpb=7b369df52cb71fab738fc852c9358059f6cff57c diff --git a/src/target/image.c b/src/target/image.c index 48c6a6c8cb..e7b7067d93 100644 --- a/src/target/image.c +++ b/src/target/image.c @@ -718,6 +718,13 @@ int image_open(image_t *image, char *url, char *type_string) } else if (image->type == IMAGE_MEMORY) { + target_t *target = get_target_by_num(strtoul(url, NULL, 0)); + if (target==NULL) + { + LOG_ERROR("Target '%s' does not exist", url); + return ERROR_FAIL; + } + image_memory_t *image_memory; image->num_sections = 1; @@ -728,7 +735,7 @@ int image_open(image_t *image, char *url, char *type_string) image_memory = image->type_private = malloc(sizeof(image_memory_t)); - image_memory->target = get_target_by_num(strtoul(url, NULL, 0));; + image_memory->target = target; image_memory->cache = NULL; image_memory->cache_address = 0x0; } @@ -912,7 +919,7 @@ int image_add_section(image_t *image, u32 base, u32 size, int flags, u8 *data) return ERROR_OK; } -int image_close(image_t *image) +void image_close(image_t *image) { if (image->type == IMAGE_BINARY) { @@ -994,8 +1001,6 @@ int image_close(image_t *image) free(image->sections); image->sections = NULL; } - - return ERROR_OK; } int image_calculate_checksum(u8* buffer, u32 nbytes, u32* checksum)