[Bug 122] New - Segmentation fault ?ch?ancier

[email protected]
Newsgroups gmane.linux.grisbi.bugs
Message-ID <[email protected]>
============================================================================
THIS MESSAGE WAS GENERATED BY THE BUGTRACKER SOFTWARE PLEASE DO NOT REPLY

INSTEAD FOLLOW BUG'S URL BELOW IN ORDER TO DETAIL BUG:
============================================================================
         Bug #: 122 (http://www.grisbi.org/bugtracking/bug.php?op=show&bugid=122)
   Reported By: [email protected]
----------------------------------------------------------------------------
       Summary: Segmentation fault échéancier
           URL: 
       Product: Grisbi stables versions
       Version: 0.4.1
     Component: Grisbi - Main
        Status: Assigned
    Resolution: 
      Severity: Unassigned
    OS/Version: Linux (all) 
   Version GTK: 
      Priority: 5 - High
   Assigned To: 
============================================================================
                              COMMENTS

----- Posted by dOm at 6:30 PM on 10-14-2003 -----
J'utilise Grisbi 0.4.1
Voici l'erreur que je reçois lorsque je
double-clique sur certaines opérations de l'échéancier.

Program
received signal SIGSEGV, Segmentation fault.
0x080a33d9 in
edition_echeance () at echeancier_liste.c:1170
1170		  categorie = 
g_slist_find_custom ( liste_struct_categories,


Voici le backtrace
des appels au moment du plantage.

#0  0x080a33d9 in edition_echeance
() at echeancier_liste.c:1170
#1  0x080a2da6 in click_ligne_echeance
(liste=0x82488f0, evenement=0x81d8634, 
    data=0x0) at
echeancier_liste.c:980


Le problÚme se situe dans la fonction
edition_echeance à la ligne 1170 du fichier
&quot;echeancier_liste.c&quot; . Voici l'extrait de code.

categorie =
 g_slist_find_custom ( liste_struct_categories,
		     GINT_TO_POINTER
( echeance_selectionnnee -&gt; categorie ),
		     (GCompareFunc)
recherche_categorie_par_no ) -&gt;data;


Il se trouve que, dans mon
cas, la fonction g_slist_find_custom renvoit un pointeur nul, ce qui
fait que l'acces au membre &quot;-&gt;data&quot; plante puisque le
pointeur est nul.
J'ai cherché à comprendre pourquoi la fonction
renvoyait NULL.

En regardant dans le fichier de grisbi (xml), il se
trouve que la catégorie associée est la numéro 15.
Cette catégorie
n'existe plus dans la liste des catégories (toujours dans le fichier
XML).
J'ai certainement demandé la suppression de cette catégorie et
les échéances liées à cette catégorie n'ont pas été réinitialisée à
&quot;sans-catégorie&quot;.

Pour corriger mon problÚme, j'ai modifié
le fichier XML pour que les échéances soient à nouveau liées à une
catégorie et une sous catégorie.


Piste pour corriger le problÚme :
- faire des tests au chargement du fichier XML pour vérifier la
cohérence du fichier chargé.
- vérifier si les échéances associées à
une catégorie sont bien réinitialisées à &quot;sans-catégorie&quot;
lorsque cette catégorie est supprimée.
- d'une facon générale, tester
que le résultat renvoyé par une fonction n'est pas NULL.

J'espÚre
vous avoir aidé.

Cordialement 

dOm




-- 
Pour vous desabonner envoyez un mail a [email protected]
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.