diff --git a/cli_classic.c b/cli_classic.c
index 63565cb..dd070c5 100644
--- a/cli_classic.c
+++ b/cli_classic.c
@@ -130,7 +130,9 @@
 
 	char *filename = NULL;
 	char *layoutfile = NULL;
+#ifndef STANDALONE
 	char *logfile = NULL;
+#endif /* !STANDALONE */
 	char *tempstr = NULL;
 	char *pparam = NULL;
 
@@ -217,8 +219,12 @@
 			break;
 		case 'i':
 			tempstr = strdup(optarg);
-			if (register_include_arg(tempstr))
+			if (register_include_arg(tempstr)) {
+				free(tempstr);
 				cli_classic_abort_usage();
+			}
+			/* FIXME: A pointer to the image name is saved in a static array (of size MAX_ROMLAYOUT)
+			 * by register_include_arg() and needs to be freed after processing them. */
 			break;
 		case 'L':
 			if (++operation_specified > 1) {
@@ -337,6 +343,7 @@
 		cli_classic_abort_usage();
 	if (logfile && open_logfile(logfile))
 		return 1;
+	free(logfile);
 #endif /* !STANDALONE */
 
 #if CONFIG_PRINT_WIKI == 1
@@ -473,6 +480,7 @@
 			}
 			msg_cinfo("Please note that forced reads most likely contain garbage.\n");
 			ret = read_flash_to_file(&flashes[0], filename);
+			free(flashes[0].chip);
 			goto out_shutdown;
 		}
 		ret = 1;
@@ -517,6 +525,15 @@
 out_shutdown:
 	programmer_shutdown();
 out:
+	for (i = 0; i < chipcount; i++)
+		free(flashes[i].chip);
+
+	free(filename);
+	free(layoutfile);
+	free(pparam);
+	/* clean up global variables */
+	free(chip_to_probe);
+	chip_to_probe = NULL;
 #ifndef STANDALONE
 	ret |= close_logfile();
 #endif /* !STANDALONE */
diff --git a/flashrom.c b/flashrom.c
index e2ad170..dae54f0 100644
--- a/flashrom.c
+++ b/flashrom.c
@@ -351,6 +351,7 @@
 		int i = --shutdown_fn_count;
 		ret |= shutdown_fn[i].func(shutdown_fn[i].data);
 	}
+	programmer_param = NULL;
 	return ret;
 }
 
