summaryrefslogtreecommitdiff
path: root/futility/updater.c
diff options
context:
space:
mode:
Diffstat (limited to 'futility/updater.c')
-rw-r--r--futility/updater.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/futility/updater.c b/futility/updater.c
index f4e793b3..4ddf53db 100644
--- a/futility/updater.c
+++ b/futility/updater.c
@@ -648,12 +648,19 @@ int load_system_firmware(struct updater_config *cfg,
*/
void free_firmware_image(struct firmware_image *image)
{
+ /*
+ * The programmer is not allocated by load_firmware_image and must be
+ * preserved explicitly.
+ */
+ const char *programmer = image->programmer;
+
free(image->data);
free(image->file_name);
free(image->ro_version);
free(image->rw_version_a);
free(image->rw_version_b);
memset(image, 0, sizeof(*image));
+ image->programmer = programmer;
}
/*