Réglage variable à NULL après libre

Dans mon entreprise, il y a un codage règle qui dit que, après la libération de la mémoire, de réinitialiser la variable à NULL. Par exemple ...

void some_func () 
{
    int *nPtr;

    nPtr = malloc (100);

    free (nPtr);
    nPtr = NULL;

    return;
}

J'ai l'impression que, dans des cas comme le code ci-dessus, le réglage de la valeur NULL n'a pas de sens. Ou ai-je raté quelque chose?

Si il n'y a pas de sens dans ce cas, je vais le prendre avec le "la qualité de l'équipe" pour supprimer cette règle de codage. S'il vous plaît conseils.

  • il est toujours utile d'être en mesure de vérifier si ptr == NULL avant de faire quelque chose avec elle. Si vous n'avez pas annuler votre libre avais pointeurs, vous obtiendrez ptr != NULL mais toujours inutilisable pointeur.
  • Balançant des pointeurs peut conduire à des vulnérabilités exploitables tels que use-After-Free.
InformationsquelleAutor Alphaneo | 2009-06-22