diff --git a/internal/ceres/compressed_row_sparse_matrix.cc b/internal/ceres/compressed_row_sparse_matrix.cc
index 192d532..c5f64dd 100644
--- a/internal/ceres/compressed_row_sparse_matrix.cc
+++ b/internal/ceres/compressed_row_sparse_matrix.cc
@@ -865,7 +865,7 @@
 
   // Generate the col block structure.
   for (int i = 0; i < options.num_col_blocks; ++i) {
-    // Generate a random integer in [min_row_block_size, max_row_block_size]
+    // Generate a random integer in [min_col_block_size, max_col_block_size]
     const int delta_block_size =
         Uniform(options.max_col_block_size - options.min_col_block_size);
     col_blocks.push_back(options.min_col_block_size + delta_block_size);
diff --git a/internal/ceres/compressed_row_sparse_matrix.h b/internal/ceres/compressed_row_sparse_matrix.h
index 6c069ab..bf67737 100644
--- a/internal/ceres/compressed_row_sparse_matrix.h
+++ b/internal/ceres/compressed_row_sparse_matrix.h
@@ -125,8 +125,8 @@
   const int* rows() const { return &rows_[0]; }
   int* mutable_rows() { return &rows_[0]; }
 
-  const StorageType& storage_type() const { return storage_type_; }
-  void set_storage_type(const StorageType& storage_type) {
+  const StorageType storage_type() const { return storage_type_; }
+  void set_storage_type(const StorageType storage_type) {
     storage_type_ = storage_type;
   }
 
diff --git a/internal/ceres/dynamic_sparse_normal_cholesky_solver.cc b/internal/ceres/dynamic_sparse_normal_cholesky_solver.cc
index 89904e0..f6acd2c 100644
--- a/internal/ceres/dynamic_sparse_normal_cholesky_solver.cc
+++ b/internal/ceres/dynamic_sparse_normal_cholesky_solver.cc
@@ -70,7 +70,7 @@
     // Temporarily append a diagonal block to the A matrix, but undo
     // it before returning the matrix to the user.
     scoped_ptr<CompressedRowSparseMatrix> regularizer;
-    if (A->col_blocks().size() > 0) {
+    if (!A->col_blocks().empty()) {
       regularizer.reset(CompressedRowSparseMatrix::CreateBlockDiagonalMatrix(
           per_solve_options.D, A->col_blocks()));
     } else {
diff --git a/internal/ceres/sparse_normal_cholesky_solver.cc b/internal/ceres/sparse_normal_cholesky_solver.cc
index dbb8a62..0a35658 100644
--- a/internal/ceres/sparse_normal_cholesky_solver.cc
+++ b/internal/ceres/sparse_normal_cholesky_solver.cc
@@ -290,7 +290,7 @@
 
 
   // Compute outer product as a compressed row lower triangular
-  // matrix, which would mapped to a compressed column upper
+  // matrix, which would be mapped to a compressed column upper
   // triangular matrix, which is the representation used by CXSparse's
   // sparse Cholesky factorization.
   if (outer_product_.get() == NULL) {
