Я могу конечно сильно ошибаться, но что-то я тут не вижу выделения памяти.
surfase — указатель, переменная освободится в конце блока.
tmpSurface — кусок памяти, существующий до и после блока. Как он был получен, так и освобождать, — вне блока unsafe.
textureWidth, textureHeight — внешние, относительно блока, переменные. Скорее всего числовые. Их управлением также занимается кто-то другой вне этого блока.
surfase->w, surfase->h — скорее всего здесь просто присваивание и выделения памяти не происходит.