diff --git a/partition.cpp b/partition.cpp
index e110ba7..5058e1d 100644
--- a/partition.cpp
+++ b/partition.cpp
@@ -1572,6 +1572,7 @@
 						} else {
 							LOGINFO("Successfully wiped crypto footer.\n");
 						}
+						free(buffer);
 					}
 				}
 			}
diff --git a/twinstall.cpp b/twinstall.cpp
index c1ff705..7eea07d 100644
--- a/twinstall.cpp
+++ b/twinstall.cpp
@@ -182,9 +182,12 @@
 		close(pipe_fd[0]);
 		execve(Temp_Binary.c_str(), (char* const*)args, environ);
 		printf("E:Can't execute '%s': %s\n", Temp_Binary.c_str(), strerror(errno));
+		free(temp);
 		_exit(-1);
 	}
 	close(pipe_fd[1]);
+	free(temp);
+	temp = NULL;
 
 	*wipe_cache = 0;
 
diff --git a/twrp-functions.cpp b/twrp-functions.cpp
index 12e88dd..644d565 100644
--- a/twrp-functions.cpp
+++ b/twrp-functions.cpp
@@ -208,32 +208,38 @@
 	f = fopen(fn.c_str(), "rb");
 	if (f == NULL) {
 		LOGERR("Failed to open '%s' to try decrypt\n", fn.c_str());
+		oaes_free(&ctx);
 		return -1;
 	}
 	read_len = fread(buffer, sizeof(uint8_t), 4096, f);
 	if (read_len <= 0) {
 		LOGERR("Read size during try decrypt failed\n");
 		fclose(f);
+		oaes_free(&ctx);
 		return -1;
 	}
 	if (oaes_decrypt(ctx, buffer, read_len, NULL, &out_len) != OAES_RET_SUCCESS) {
 		LOGERR("Error: Failed to retrieve required buffer size for trying decryption.\n");
 		fclose(f);
+		oaes_free(&ctx);
 		return -1;
 	}
 	buffer_out = (uint8_t *) calloc(out_len, sizeof(char));
 	if (buffer_out == NULL) {
 		LOGERR("Failed to allocate output buffer for try decrypt.\n");
 		fclose(f);
+		oaes_free(&ctx);
 		return -1;
 	}
 	if (oaes_decrypt(ctx, buffer, read_len, buffer_out, &out_len) != OAES_RET_SUCCESS) {
 		LOGERR("Failed to decrypt file '%s'\n", fn.c_str());
 		fclose(f);
 		free(buffer_out);
+		oaes_free(&ctx);
 		return 0;
 	}
 	fclose(f);
+	oaes_free(&ctx);
 	if (out_len < 2) {
 		LOGINFO("Successfully decrypted '%s' but read length too small.\n", fn.c_str());
 		free(buffer_out);
