fixed various memory leaks/overruns/etc
I found many issues using AddressSanitizer and LeakSanitizer.
diff --git a/frc971/control_loops/drivetrain/drivetrain.cc b/frc971/control_loops/drivetrain/drivetrain.cc
index ca9c3c7..77d5781 100644
--- a/frc971/control_loops/drivetrain/drivetrain.cc
+++ b/frc971/control_loops/drivetrain/drivetrain.cc
@@ -28,8 +28,8 @@
public:
class LimitedDrivetrainLoop : public StateFeedbackLoop<4, 2, 2> {
public:
- LimitedDrivetrainLoop(const StateFeedbackLoop<4, 2, 2> &loop)
- : StateFeedbackLoop<4, 2, 2>(loop),
+ LimitedDrivetrainLoop(StateFeedbackLoop<4, 2, 2> &&loop)
+ : StateFeedbackLoop<4, 2, 2>(::std::move(loop)),
U_Poly_((Eigen::Matrix<double, 4, 2>() << 1, 0,
-1, 0,
0, 1,