From: SourceForge.net <no...@so...> - 2006-04-18 14:54:58
|
Bugs item #1426388, was opened at 2006-02-07 18:50 Message generated for change (Settings changed) made by hoehle You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=101355&aid=1426388&group_id=1355 Please note that this message will contain a full copy of the comment thread, including the initial issue submission, for this request, not just the latest update. Category: modules Group: segfault Status: Open Resolution: None Priority: 5 Submitted By: Jörg Höhle (hoehle) >Assigned to: Nobody/Anonymous (nobody) Summary: rawsock :end vs. size confusion -> wrong buffer size Initial Comment: Unless I'm mistaken: rawsock.c:parse_buffer_arg: I believe there's confusion about size and :end *size = missingp(STACK_0) ? vector_length(*arg_) : posfixnum_to_V(check_posfixnum(STACK_0)); data = array_displace_check(*arg_,*size,&start); { void *start_address = (void*)(TheSbvector(data)->data + start); handle_fault_range(prot,(aint)start_address,(aint)start_address + *size); :start 1000 :end 1002 should yield I/O size 2, not 1002 Furthermore, :end >(length buf) probably yields misleading error messages. Possibly needs the test_vector_limits() abstraction Maybe that function should be made available for use by external modules? Work-around: do not use :start/:end for now. Regards, Jörg Höhle ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=101355&aid=1426388&group_id=1355 |