diff --git a/src/sbbs3/js_global.c b/src/sbbs3/js_global.c index 024e8dd7cc554948dde8de64807cae458f50482c..0f8032b43a243b0dc518f65b365456e9dc054d11 100644 --- a/src/sbbs3/js_global.c +++ b/src/sbbs3/js_global.c @@ -776,8 +776,11 @@ js_word_wrap(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) prefix_len=strlen(prefix); prefix_bytes=strlen(prefix); } - else + else { memcpy(prefix,inbuf,prefix_bytes); + /* Terminate prefix */ + prefix[prefix_bytes]=0; + } strncpy(linebuf,prefix,prefix_bytes); l=prefix_bytes; ocol=prefix_len+1; @@ -816,8 +819,11 @@ js_word_wrap(JSContext *cx, JSObject *obj, uintN argc, jsval *argv, jsval *rval) prefix_len=strlen(prefix); prefix_bytes=strlen(prefix); } - else + else { memcpy(prefix,inbuf+i+1-prefix_bytes,prefix_bytes); + /* Terminate prefix */ + prefix[prefix_bytes]=0; + } linebuf[l++]='\r'; linebuf[l++]='\n'; outbuf_append(&outbuf, &outp, linebuf, l, &outbuf_size);