diff --git a/src/MST_OpenMPI.c b/src/MST_OpenMPI.c
index 72ce1f9d4adb7d3f1f79d24f71474eb34a60ecd9..1fe81b8b60fb46c107cb71ac094e85ef3bc79adc 100644
--- a/src/MST_OpenMPI.c
+++ b/src/MST_OpenMPI.c
@@ -317,11 +317,11 @@ void PreQuickSort (Edge result[], int size, int rank) {
         source = MPI_Get_count(&status, mpi_edge_type, &arr);
         int src = status.MPI_SOURCE;
 
-        temp = (Edge *) malloc (sizeof(Edge) *arr);
+        Edge * temp = (Edge *) malloc (sizeof(Edge) *arr);
         source = MPI_Recv(temp, arr, mpi_edge_type, src, 1, MPI_COMM_WORLD, MPI_STATUS_IGNORE);
         //Impementasiquicksort disini
-        source = MPI_Send(temp, arr, mpi_adge_type, src, 1, MPI_COMM_WORLD);
-        free(arr);
+        source = MPI_Send(temp, arr, mpi_edge_type, src, 1, MPI_COMM_WORLD);
+        free(temp);
     }
 
 }