There's no point to this conditional - unless you need to RlistDestroy(promise_meta) - since the loop can perfectly happily be a no-op when promise_meta is NULL.