From d1d231193da3cc86ec6faa6d62f65906b58ebd6f Mon Sep 17 00:00:00 2001 From: Stefan Thomas Date: Wed, 24 Oct 2012 17:08:23 +0200 Subject: [PATCH] Handle exceptions caused by invalid transactions. --- src/WSDoor.cpp | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/src/WSDoor.cpp b/src/WSDoor.cpp index da00ea400..f9106112f 100644 --- a/src/WSDoor.cpp +++ b/src/WSDoor.cpp @@ -946,7 +946,18 @@ void WSConnection::doSubmit(Json::Value& jvResult, const Json::Value& jvRequest) sopTrans->setFieldVL(sfSigningPubKey, naAccountPublic.getAccountPublic()); - SerializedTransaction::pointer stpTrans = boost::make_shared(*sopTrans); + SerializedTransaction::pointer stpTrans; + + try + { + stpTrans = boost::make_shared(*sopTrans); + } + catch (std::exception& e) + { + jvResult["error"] = "invalidTransaction"; + jvResult["error_exception"] = e.what(); + return; + } stpTrans->sign(naAccountPrivate);