/* Add a buffer to the Buffer To Free List for safely returning buffers to other places without risking letting them modify internal shell information. */
VOID* AddBufferToFreeList(VOID *Buffer)
/* Add a buffer to the Buffer To Free List for safely returning buffers to other places without risking letting them modify internal shell information. */
VOID* AddBufferToFreeList(VOID *Buffer)
{
  BUFFER_LIST  *BufferListEntry;
  if (Buffer == NULL) {
    return (NULL);
  }
  BufferListEntry = AllocateZeroPool (sizeof (BUFFER_LIST));
  if (BufferListEntry == NULL) {
    return NULL;
  }
  BufferListEntry->Buffer = Buffer;
  InsertTailList (&ShellInfoObject.BufferToFreeList.Link, &BufferListEntry->Link);
  return (Buffer);
}