Fix nullptr dereference in dlqr()
Change-Id: Ia415b462328186f7423366498df92d892aad10bb
Signed-off-by: James Kuszmaul <jabukuszmaul+collab@gmail.com>
diff --git a/frc971/control_loops/dlqr.h b/frc971/control_loops/dlqr.h
index 57aa88b..d31f492 100644
--- a/frc971/control_loops/dlqr.h
+++ b/frc971/control_loops/dlqr.h
@@ -41,7 +41,9 @@
::Eigen::Matrix<double, kM, kN> *K,
::Eigen::Matrix<double, kN, kN> *S) {
*K = ::Eigen::Matrix<double, kM, kN>::Zero();
- *S = ::Eigen::Matrix<double, kN, kN>::Zero();
+ if (S != nullptr) {
+ *S = ::Eigen::Matrix<double, kN, kN>::Zero();
+ }
// Discrete (not continuous)
char DICO = 'D';
// B and R are provided instead of G.