most debug functions deleting their arguments?
Jochen Eisinger
jochen at penguin-breeder.org
Thu Jun 14 21:28:41 CEST 2007
Hi,
in silcutil/silclog.c the functions
o silc_log_output
o silc_log_output_debug
o silc_log_output_hexdump
delete their argument called 'string'
is there any good reason? at least that's nowhere documented - and
produces pretty many invalid reads with silc client 1.1:
==9857== Invalid read of size 1
==9857== at 0x8094132: hilight_nick_cache (hilight-text.c:659)
==9857== by 0x80D3781: sig_nick_new (nickmatch-cache.c:84)
==9857== by 0x80DC04D: signal_emit_real (signals.c:242)
==9857== by 0x80DC63E: signal_emit (signals.c:286)
==9857== by 0x80D3371: nicklist_insert (nicklist.c:85)
==9857== by 0x4C2DA9C: silc_nicklist_insert (silc-nicklist.c:56)
==9857== by 0x4C3D1BA: silc_notify (client_ops.c:762)
==9857== by 0x4CEDD02: silc_client_notify_join (client_notify.c:418)
==9857== by 0x4C60D60: silc_fsm_run (silcfsm.c:433)
==9857== by 0x4C60E56: silc_fsm_continue_sync (silcfsm.c:309)
==9857== by 0x4CEB130: silc_client_notify_resolved (client_notify.c:74)
==9857== by 0x4CE10E3: silc_client_get_clients_cb (client_entry.c:232)
==9857== Address 0x5BC6800 is 24 bytes inside a block of size 31 free'd
==9857== at 0x40230CA: free (vg_replace_malloc.c:233)
==9857== by 0x4C56D24: silc_free (silcmemory.c:68)
==9857== by 0x4C5641D: silc_log_output_debug (silclog.c:517)
==9857== by 0x4C5978A: silc_schedule_iterate (silcschedule.c:189)
==9857== by 0x4C5999A: silc_schedule_one (silcschedule.c:479)
==9857== by 0x4CDB720: silc_client_run_one (client.c:1089)
==9857== by 0x4C2BE21: my_silc_scheduler (silc-core.c:82)
==9857== by 0x41FDF25: (within /usr/lib/libglib-2.0.so.0.1200.12)
==9857== by 0x41FD951: g_main_context_dispatch (in
/usr/lib/libglib-2.0.so.0.
1200.12)
==9857== by 0x420091E: (within /usr/lib/libglib-2.0.so.0.1200.12)
==9857== by 0x4200E84: g_main_context_iteration (in
/usr/lib/libglib-2.0.so.0
.1200.12)
==9857== by 0x806F066: main (irssi.c:388)
regards
-- jochen
More information about the silc-devel
mailing list