Author: sCALP Date: To: guilde Subject: Re: programmes déréférençant un pointeur nul ...
> On Mon, Aug 19, 2002 at 03:45:16PM +0200, Frédéric BOITEUX
<fboiteux@???> wrote: > > J'ai un problème épineux sans solution simple, je vous le soumets :-) : > > J'ai récupéré un paquet de programmes C venant d'une autre architecture (Moto 68000), > > pour les porter sur linux. Ils ont un gros pb : apparemment, sur la plateforme d'origine, > > on pouvait déréférencer le pointeur NULL (le contenu de *NULL est NULL ...), > > sous Linux, on obtient un beau segfault. Le problème, c'est que pour corriger ce pb, > >
> > est-ce que vous auriez une idée ?
>
> Je vais peut-être dire une connerie, mais bon ...
> Pourquoi ne pas écrire une fonction :
>
> void sfree(void * ptr)
> {
> if (ptr)
> free(ptr);
> }
>
> Et ensuite, partout dans ton programme, remplacer free() par sfree() ?
>
> Ou alors je n'ai peut-être rien compris au problème...
il faudrait approfondir le "if (ptr)" car la il ne va tester que la valeur
de ptr et non pas l'existence de ptr en tant qu'adresse memoire utilisée...
mais la piste a l'air bonne
(mes 0 euros, car j'ai pas fait de C depuis lgtmp)
>
> lucas