Sucede por una simple razón.
En la tabla donde se guardan las noticias no hay ninguna entrada, con lo cual al usar la funcion mysql_free_result() estamos pidiendo al codigo que libere la memoria usada pero, claro, al no haber ninguna entrada no hay datos que liberar de la memoria, con lo cual, esto conlleva a un error que es mejor ocultar y olvidarse de él.
¿Como ocultar este error tan simple?
Con un @ frente a la aplicación de esa función solucionamos el problema.
Ejemplo:
@mysql_free_result($array);