commit efc2b0c99e1a4f9d2be9e72785d566df903c66fb from: rsc date: Tue Mar 02 20:02:13 2004 UTC Make sure snarf is <64kB, since the wire count is only 16 bits. commit - dc9d0ffc7558dacde0df81ff3b278fa6f356f46f commit + efc2b0c99e1a4f9d2be9e72785d566df903c66fb blob - c332d7a81b2bd0081527e8275f892fb637d1720a blob + 0bffad3d736f24f73c9833132cdf4d6b82ea28c7 --- src/cmd/samterm/mesg.c +++ src/cmd/samterm/mesg.c @@ -646,10 +646,17 @@ hsetsnarf(int nc) if(n >= 0){ if(!s1) n = 0; - s1 = realloc(s1, n+1); - if (!s1) - panic("realloc"); - s1[n] = 0; + if(n > 65535){ + s1 = strdup(""); + if (!s1) + panic("strdup"); + n = strlen(s1); + }else{ + s1 = realloc(s1, n+1); + if (!s1) + panic("realloc"); + s1[n] = 0; + } snarflen = n; outTs(Tsetsnarf, n); if(n>0 && write(hostfd[1], s1, n)!=n)