QSF progress.

Derek Atkins warlord at MIT.EDU
Sat Jan 8 18:52:29 EST 2005


Neil Williams <linux at codehelp.co.uk> writes:

> Or would you prefer a patch for GnuCash so that you can see the problem for 
> yourself? The backtraces that I see only ever refer to
> 384:  num_acc = g_list_length (grp->accounts);
> in src/engine/Group.c

I'd personally prefer a patch to GnuCash.  I don't use the standalone
QOF.  Indeed, I don't even have a checkout of that code.  Personally I
believe that pullout was premature, but whatever.

The only way I think this call could fail is if the list itself got
overwritten or freed.  g_list_length() is effectively this code:

    int i = 0;
    for (; list; list = list->next)
        i++;
    return i;

So the only thing that would cause this code to crash is a munged
list.  The question is: why is the list munged?  Perhaps a data object
is getting freed out from under you?

-derek

-- 
       Derek Atkins, SB '93 MIT EE, SM '95 MIT Media Laboratory
       Member, MIT Student Information Processing Board  (SIPB)
       URL: http://web.mit.edu/warlord/    PP-ASEL-IA     N1NWH
       warlord at MIT.EDU                        PGP key available


More information about the gnucash-devel mailing list