83. Smart Pointers-II

Question.4

A function has multiple exit paths:

void process() {
   auto buf = std::make_unique<uint8_t[]>(256);
   if (check_error()) return;  // Early exit 1
   if (timeout())     return;  // Early exit 2
   transmit(buf.get(), 256);
}

Is the buffer leaked on early returns?

Need Help? Refer to the Quick Guide below

Select Answer