Browse Source

[image] Fix use-after-free in debug messages

Signed-off-by: Michael Brown <mcb30@ipxe.org>
tags/v1.20.1
Michael Brown 12 years ago
parent
commit
275fdae9bb
1 changed files with 3 additions and 3 deletions
  1. 3
    3
      src/core/image.c

+ 3
- 3
src/core/image.c View File

@@ -67,13 +67,13 @@ static int require_trusted_images_permanent = 0;
67 67
 static void free_image ( struct refcnt *refcnt ) {
68 68
 	struct image *image = container_of ( refcnt, struct image, refcnt );
69 69
 
70
+	DBGC ( image, "IMAGE %s freed\n", image->name );
70 71
 	free ( image->name );
71 72
 	free ( image->cmdline );
72 73
 	uri_put ( image->uri );
73 74
 	ufree ( image->data );
74 75
 	image_put ( image->replacement );
75 76
 	free ( image );
76
-	DBGC ( image, "IMAGE %s freed\n", image->name );
77 77
 }
78 78
 
79 79
 /**
@@ -327,8 +327,8 @@ int image_exec ( struct image *image ) {
327 327
 
328 328
 	/* Tail-recurse into replacement image, if one exists */
329 329
 	if ( replacement ) {
330
-		DBGC ( image, "IMAGE %s replacing self with IMAGE %s\n",
331
-		       image->name, replacement->name );
330
+		DBGC ( image, "IMAGE <freed> replacing self with IMAGE %s\n",
331
+		       replacement->name );
332 332
 		if ( ( rc = image_exec ( replacement ) ) != 0 )
333 333
 			return rc;
334 334
 	}

Loading…
Cancel
Save