From 5deb8a2f7b3c5535b2574ea4fa7aba3a909e4a09 Mon Sep 17 00:00:00 2001 From: Reuben Morais Date: Sun, 3 May 2020 15:39:07 +0200 Subject: [PATCH] Don't leave partially initialized scorer on failure --- native_client/deepspeech.cc | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/native_client/deepspeech.cc b/native_client/deepspeech.cc index 96989e04..b5b0f163 100644 --- a/native_client/deepspeech.cc +++ b/native_client/deepspeech.cc @@ -333,11 +333,12 @@ int DS_EnableExternalScorer(ModelState* aCtx, const char* aScorerPath) { - aCtx->scorer_.reset(new Scorer()); - int err = aCtx->scorer_->init(aScorerPath, aCtx->alphabet_); + std::unique_ptr scorer(new Scorer()); + int err = scorer->init(aScorerPath, aCtx->alphabet_); if (err != 0) { return DS_ERR_INVALID_SCORER; } + aCtx->scorer_ = std::move(scorer); return DS_ERR_OK; }