Matriz de pares con punteros en C

#include <stdio.h>
#include <stdlib.h>

void pares (int numfilas, int numcols, int *m);
void imprimematriz(int *m, int numfilas, int numcols);
int main ()
{
 int n,m,*matriz;
 printf("Introduzca el número de filas: ");
 scanf("%d",&n);
 printf("Introduzca el número de columnas: ");
 scanf("%d",&m);
 matriz=(int*)malloc(sizeof(int)*n*m);
 pares(n,m,matriz);
 imprimematriz(matriz,n,m);
 free(matriz);
 return 0;
}
void pares (int numfilas, int numcols, int *m)
{
 int i,aux=2;
 for (i=0; i<numfilas*numcols; i++) {
  *(m+i)=aux;
  aux+=2;
 }
 return;
}
void imprimematriz(int *m, int numfilas, int numcols)
{
 int i,j;
 for (i=0; i<numfilas; i++) {
  for (j=0; j<numcols; j++) {
   printf("%3d", *(m+(i*numcols)+j));
  }
  printf("\n");
 }

}