diff --git a/binaries/aarch64/tpws b/binaries/aarch64/tpws index 9f1a42b6..ac742cdd 100755 Binary files a/binaries/aarch64/tpws and b/binaries/aarch64/tpws differ diff --git a/binaries/arm/tpws b/binaries/arm/tpws index b9276d78..c24a541a 100755 Binary files a/binaries/arm/tpws and b/binaries/arm/tpws differ diff --git a/binaries/freebsd-x64/tpws b/binaries/freebsd-x64/tpws index cc7cafde..84e4cb01 100755 Binary files a/binaries/freebsd-x64/tpws and b/binaries/freebsd-x64/tpws differ diff --git a/binaries/mac64/tpws b/binaries/mac64/tpws index c7694548..791be696 100755 Binary files a/binaries/mac64/tpws and b/binaries/mac64/tpws differ diff --git a/binaries/mips32r1-lsb/tpws b/binaries/mips32r1-lsb/tpws index af328c74..4a09ce57 100755 Binary files a/binaries/mips32r1-lsb/tpws and b/binaries/mips32r1-lsb/tpws differ diff --git a/binaries/mips32r1-msb/tpws b/binaries/mips32r1-msb/tpws index 25186dcc..629ba7e6 100755 Binary files a/binaries/mips32r1-msb/tpws and b/binaries/mips32r1-msb/tpws differ diff --git a/binaries/mips64r2-msb/tpws b/binaries/mips64r2-msb/tpws index adbf41ce..81b0701a 100755 Binary files a/binaries/mips64r2-msb/tpws and b/binaries/mips64r2-msb/tpws differ diff --git a/binaries/ppc/tpws b/binaries/ppc/tpws index 0b171959..c849dcfe 100755 Binary files a/binaries/ppc/tpws and b/binaries/ppc/tpws differ diff --git a/binaries/x86/tpws b/binaries/x86/tpws index 1aa921bb..1d6c7f13 100755 Binary files a/binaries/x86/tpws and b/binaries/x86/tpws differ diff --git a/binaries/x86_64/tpws b/binaries/x86_64/tpws index e71cbacf..0daf97f3 100755 Binary files a/binaries/x86_64/tpws and b/binaries/x86_64/tpws differ diff --git a/binaries/x86_64/tpws_wsl.tgz b/binaries/x86_64/tpws_wsl.tgz index 3058277d..e2c0319d 100644 Binary files a/binaries/x86_64/tpws_wsl.tgz and b/binaries/x86_64/tpws_wsl.tgz differ diff --git a/tpws/tamper.c b/tpws/tamper.c index 387a088d..30792444 100644 --- a/tpws/tamper.c +++ b/tpws/tamper.c @@ -251,7 +251,7 @@ void modify_tcp_segment(uint8_t *segment,size_t segment_buffer_size,size_t *size // length is checked in IsTLSClientHello and cannot exceed buffer size if (tpos>=l) tpos=1; VPRINT("making 2 TLS records at pos %zu",tpos) - memmove(segment+5+tpos+5,segment+5+tpos,l-tpos); + memmove(segment+5+tpos+5,segment+5+tpos,*size-(5+tpos)); segment[5+tpos] = segment[0]; segment[5+tpos+1] = segment[1]; segment[5+tpos+2] = segment[2];