From: nobu.nokada@... Date: 2002-09-03T11:04:50+09:00 Subject: Re: [MemLeak] in dln.c Hi, At Tue, 3 Sep 2002 01:09:11 +0900, Michal Rokos wrote: > > I'd use alloca. I want dln.c to be separatable from Ruby as much as > > possible. > > So, #2 is a winner. > > (Only think that worries me is 'man alloca': The alloca function > is machine and compiler dependent. Its use is discouraged.) Ruby uses missing/alloca.c for such platforms, however I've inclined to #1, which uses alloca() in just two places. Still ASTRDUP() macro feels evil, so explicit copy may be better. And, you just elided this? @@ -647,7 +647,10 @@ load_1(fd, disp, need_init) reloc = load_reloc(fd, &hdr, disp); if (reloc == NULL) return -1; syms = load_sym(fd, &hdr, disp); - if (syms == NULL) return -1; + if (syms == NULL) { + free(reloc); + return -1; + } sym = syms; end = syms + (hdr.a_syms / sizeof(struct nlist)); -- Nobu Nakada