namec(..) advances the name-pointer, so free fails if it has been advanced enough. (dont) try ls '#I10'. free(name) replaced with free(aname) Notes: Sat Oct 15 06:55:56 EDT 2005 rsc I'm glad someone found a bug in the new code. I was starting to think no one was using it! Thanks. Reference: /n/sources/patch/applied/chanfix Date: Sat Oct 15 01:11:07 CES 2005 Reviewed-by: rsc --- /sys/src/9/port/chan.c Sat Oct 15 01:02:10 2005 +++ /sys/src/9/port/chan.c Sat Oct 15 01:02:05 2005 @@ -1550,7 +1550,7 @@ free(e.elems); free(e.off); poperror(); /* e c */ - free(name); + free(aname); poperror(); /* name */ return c;