Используйте это:
conbuf.buffer = (char *)calloc( (buffersize * sizeof(char))+1,1);
, поскольку printf требует, чтобы последний символ строки был завершен нулем, это гарантирует это.Но данные, полученные из сети, могут уже содержать NUL в середине.Поэтому вместо printf вы должны использовать fwrite:
fwrite(conbuf.buffer,buffersize , STDOUT);
Я бы посоветовал вам перенаправить его в файл и выполнить шестнадцатеричный дамп, чтобы увидеть вывод.