diff options
| author | Michael Brown | 2012-03-30 21:50:25 +0200 |
|---|---|---|
| committer | Michael Brown | 2012-03-30 21:50:25 +0200 |
| commit | 275fdae9bb3aafa6db1a089821654323f9990042 (patch) | |
| tree | b0b1327624ccf9b9cb2cfbb39e1889ea1c23b8e5 /src/core | |
| parent | [menu] Fix default selection when default is item 0 (diff) | |
| download | ipxe-275fdae9bb3aafa6db1a089821654323f9990042.tar.gz ipxe-275fdae9bb3aafa6db1a089821654323f9990042.tar.xz ipxe-275fdae9bb3aafa6db1a089821654323f9990042.zip | |
[image] Fix use-after-free in debug messages
Signed-off-by: Michael Brown <mcb30@ipxe.org>
Diffstat (limited to 'src/core')
| -rw-r--r-- | src/core/image.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/src/core/image.c b/src/core/image.c index 3cb2d62da..105809257 100644 --- a/src/core/image.c +++ b/src/core/image.c @@ -67,13 +67,13 @@ static int require_trusted_images_permanent = 0; static void free_image ( struct refcnt *refcnt ) { struct image *image = container_of ( refcnt, struct image, refcnt ); + DBGC ( image, "IMAGE %s freed\n", image->name ); free ( image->name ); free ( image->cmdline ); uri_put ( image->uri ); ufree ( image->data ); image_put ( image->replacement ); free ( image ); - DBGC ( image, "IMAGE %s freed\n", image->name ); } /** @@ -327,8 +327,8 @@ int image_exec ( struct image *image ) { /* Tail-recurse into replacement image, if one exists */ if ( replacement ) { - DBGC ( image, "IMAGE %s replacing self with IMAGE %s\n", - image->name, replacement->name ); + DBGC ( image, "IMAGE <freed> replacing self with IMAGE %s\n", + replacement->name ); if ( ( rc = image_exec ( replacement ) ) != 0 ) return rc; } |
