[Gnucash-changes] r12989 - gnucash/trunk/src/report - Check
for invalid options tables when loading reports.
Derek Atkins
warlord at MIT.EDU
Fri Jan 27 17:54:57 EST 2006
Quoting Chris Shoemaker <c.shoemaker at cox.net>:
> There's something a bit strange here, too. We have in
> gnc_plugin_page_report_recreate_page():
>
> option_string = g_key_file_get_string(key_file, group_name,
> SCHEME_OPTIONS, &error);
> if (error) {
> g_warning("error reading group %s key %s: %s",
> group_name, SCHEME_OPTIONS, error->message);
> LEAVE("bad value");
> return NULL;
> }
> scm_id = scm_c_eval_string(option_string);
> if (!scm_integer_p(scm_id)) {
> g_free(option_string);
> LEAVE("report id not an integer");
> return NULL;
> }
>
> report_id = scm_num2int(scm_id, SCM_ARG1, __FUNCTION__);
>
>
> Now, since the option string I created evaluates to #f, you'd _really_
> think this would trigger the "report id not an integer" error path.
>
> But, no. Instead:
> ERROR: In procedure gnc_plugin_page_report_recreate_page:
> ERROR: Wrong type argument in position 1: #f
I wonder if that's happening in scm_integer_p() or in scm_num2int()?
I suspect the latter, but I'm not sure. You might need to just compare
against SCM_BOOL_F first..
> And a clean crash. Not very nice. :(
No, it's not. :(
> -chris
-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