Parece que piensas en el tipo de bufferoverflow que usualmente ocurre en el montón. Por lo general, los fragmentos de memoria asignados se almacenan como elementos, con metadatos, que incluyen punteros al elemento siguiente y anterior, en listas doblemente vinculadas. En teoría, al desbordar el búfer, podría sobrescribir los metadatos de la siguiente porción de memoria y, si se libera esa, podría sobrescribir el puntero de una función, lo que lleva a la ejecución de código arbitrario. Para obtener más información sobre la explotación, visite este sitio web
Los punteros gordos podrían protegerlo de esto: simplemente revisando cada operación en el arreglo, como leer o escribir en la ubicación, internamente una verificación de límites, si el desplazamiento / índice dado es válido, se realizará y solo si Si se pasa la verificación de límites se ejecutará la operación. (Como ya se dijo @cloudfeet). Esto significa que no podrá escribir después de los límites de su memoria y, por lo tanto, no podrá sobrescribir cosas como los metadatos del siguiente fragmento de memoria o un puntero en la pila.