Re: programmes déréférençant un pointeur nul ...

Top Page

Reply to this message
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