> so I can induce the bug with an even longer string? That is not a fix but > a patch and it is a patch and a possible fix diff -ur csound5~/Engine/namedins.c csound5/Engine/namedins.c --- csound5~/Engine/namedins.c 2012-04-11 21:16:06.000000000 +0200 +++ csound5/Engine/namedins.c 2012-04-11 21:16:26.000000000 +0200 @@ -469,7 +469,7 @@ /* -------------------------------------------------------------------- */ /* These functions replace the functionality of strsav() in rdorch.c. */ -#define STRSPACE (2000) /* number of bytes in a buffer */ +#define STRSPACE (1000) /* number of bytes in a buffer */ typedef struct strsav_t { struct strsav_t *nxt; /* pointer to next structure */ @@ -529,7 +529,7 @@ n = (int) sizeof(struct strsav_t *) + (int) strlen(s) + 1; /* n bytes */ n = ((n + (int) sizeof(struct strsav_t *) - 1) /* round up for alignment */ / (int) sizeof(struct strsav_t *)) * (int) sizeof(struct strsav_t *); - if ((STRSAV_SPACE_->splim + n) > STRSAV_SPACE_->size) { + if ((STRSAV_SPACE_->splim + n) > (STRSAV_SPACE_->size = STRSPACE)) { STRSAV_SPACE *sp; /* not enough space, allocate new buffer */ if (UNLIKELY(n > STRSAV_SPACE_->size)) { @@ -545,7 +545,7 @@ else { sp = (STRSAV_SPACE*) mcalloc(csound, sizeof(STRSAV_SPACE)); sp->sp = - (char*)mcalloc(csound, STRSAV_SPACE_->size = STRSPACE); + (char*)mcalloc(csound, STRSAV_SPACE_->size); } sp->prv = STRSAV_SPACE_; csound->strsav_space = sp; ------------------------------------------------------------------------------ Better than sec? Nothing is better than sec when it comes to monitoring Big Data applications. Try Boundary one-second resolution app monitoring today. Free. http://p.sf.net/sfu/Boundary-dev2dev _______________________________________________ Csound-devel mailing list Csound-devel@lists.sourceforge.net