Fix a memory leak in cxsparse.cc

Thanks to Alexander Mordvintsev for reporting it.

Change-Id: Ia872be42ce80209e46722fc16a928496cf97e256
diff --git a/internal/ceres/cxsparse.cc b/internal/ceres/cxsparse.cc
index 21c98e0..19fa17c 100644
--- a/internal/ceres/cxsparse.cc
+++ b/internal/ceres/cxsparse.cc
@@ -116,12 +116,12 @@
   return cs_compress(&tsm_wrapper);
 }
 
-void CXSparse::Free(cs_di* factor) {
-  cs_free(factor);
+void CXSparse::Free(cs_di* sparse_matrix) {
+  cs_di_spfree(sparse_matrix);
 }
 
-void CXSparse::Free(cs_dis* factor) {
-  cs_sfree(factor);
+void CXSparse::Free(cs_dis* symbolic_factorization) {
+  cs_di_sfree(symbolic_factorization);
 }
 
 }  // namespace internal
diff --git a/internal/ceres/cxsparse.h b/internal/ceres/cxsparse.h
index d3b64fc..dd5eadc 100644
--- a/internal/ceres/cxsparse.h
+++ b/internal/ceres/cxsparse.h
@@ -72,9 +72,8 @@
   // The returned matrix should be deallocated with Free when not used anymore.
   cs_dis* AnalyzeCholesky(cs_di* A);
 
-  // Deallocates the memory of a matrix obtained from AnalyzeCholesky.
-  void Free(cs_di* factor);
-  void Free(cs_dis* factor);
+  void Free(cs_di* sparse_matrix);
+  void Free(cs_dis* symbolic_factorization);
 
  private:
   // Cached scratch space