Sdl surface query

Hi

I m new to sdl. I m trying sum basic things like I wish to make a surface on a
bigger surface and change the color of the smaller surface to red.

I used following code for smaller surface:

Surface = SDL_CreateRGBSurface(SDL_SWSURFACE, rect.w, rect.h,
32,0xff000000,0xff000000,0xff000000,0xffffffff);
SDL_FillRect(Surface, NULL, SDL_MapRGB(m_pSurface->format, 255, 0,0));
SDL_Flip(pSurface);

but the color is not getting set. pls help.