@@ -314,13 +314,11 @@ std::shared_ptr<ShareBuffer::Reader> ShareBuffer::MakeLocalReader(const std::str
314314 UC_ERROR (" Failed to make buffer({}) on host." , blockSize_);
315315 return nullptr ;
316316 }
317- Reader* reader = nullptr ;
318317 try {
319- reader = new Reader{block, path, blockSize_, ioDirect_, false , addr. get ()};
320- return std::shared_ptr< Reader>(reader ,
321- [addr = std::move (addr)](Reader* reader) { delete reader; });
318+ return std::shared_ptr< Reader>(
319+ new Reader{block, path, blockSize_, ioDirect_, false , addr. get ()} ,
320+ [addr = std::move (addr)](Reader* reader) { delete reader; });
322321 } catch (const std::exception& e) {
323- if (reader) { delete reader; }
324322 UC_ERROR (" Failed({}) to create reader." , e.what ());
325323 return nullptr ;
326324 }
@@ -331,17 +329,15 @@ std::shared_ptr<ShareBuffer::Reader> ShareBuffer::MakeSharedReader(const std::st
331329 size_t position)
332330{
333331 void * addr = this ->BlockAt (position);
334- Reader* reader = nullptr ;
335332 try {
336- reader = new Reader{block, path, blockSize_, ioDirect_, true , addr};
337- return std::shared_ptr<Reader>(reader, [this , position](Reader* reader) {
338- delete reader;
339- this ->ReleaseBlock (position);
340- });
341- } catch (... ) {
333+ return std::shared_ptr<Reader>( new Reader{block, path, blockSize_, ioDirect_, true , addr},
334+ [this , position](Reader* reader) {
335+ delete reader;
336+ this ->ReleaseBlock (position);
337+ });
338+ } catch (const std::exception& e ) {
342339 this ->ReleaseBlock (position);
343- if (reader) { delete reader; }
344- UC_ERROR (" Failed to create reader." );
340+ UC_ERROR (" Failed({}) to create reader." , e.what ());
345341 return nullptr ;
346342 }
347343}
0 commit comments