Use std::list for descriptor_list instead of home-baked linked list.  Add break in loop to avoid uninitialized memory read.
clang-format cleanup