diff --git a/gtsam/linear/JacobianFactor.cpp b/gtsam/linear/JacobianFactor.cpp index 25d0be736..5de446d25 100644 --- a/gtsam/linear/JacobianFactor.cpp +++ b/gtsam/linear/JacobianFactor.cpp @@ -140,17 +140,26 @@ namespace gtsam { GaussianFactor(GetKeys(terms.size(), terms.begin(), terms.end())), model_(model), Ab_(matrix_) { + // get number of measurements and variables involved in this factor + size_t m = b.size(), n = terms.size(); - if(model->dim() != (size_t) b.size()) + if(model->dim() != (size_t) m) throw InvalidNoiseModel(b.size(), model->dim()); - size_t* dims = (size_t*)alloca(sizeof(size_t)*(terms.size()+1)); // FIXME: alloca is bad, just ask Google. - for(size_t j=0; j