|
|
recv(sockfd, buffer, 56, 0)
. Make that 55 not 56. Again it might not be null terminating it. Because you are using these C methods it's going to be very prone to buffer overflows. While it may not crash your code, it may have unexpected consequences.
|
|
malloc
. This also inits the response-buffer to null.memcpy()
. Don't forget you're dealing with binary data so you don't want to be inserting null terminators and sprintf()
and strcat()
need them to identify the ends of character strings.
|
|
Buffer size: 128, Total response size: 128 Buffer size: 128, Total response size: 256 Buffer size: 27, Total response size: 283 |
Buffer size: 128, Total response size: 128 Buffer size: 128, Total response size: 256 Buffer size: 128, Total response size: 384 Buffer size: 128, Total response size: 512 Buffer size: 128, Total response size: 640 Buffer size: 128, Total response size: 768 Buffer size: 128, Total response size: 896 Buffer size: 128, Total response size: 1024 Buffer size: 128, Total response size: 1152 Buffer size: 128, Total response size: 1280 Buffer size: 128, Total response size: 1408 Buffer size: 128, Total response size: 1536 Buffer size: 128, Total response size: 1664 Buffer size: 128, Total response size: 1792 Buffer size: 128, Total response size: 1920 Buffer size: 128, Total response size: 2048 Buffer size: 128, Total response size: 2176 Buffer size: 128, Total response size: 2304 Buffer size: 128, Total response size: 2432 Buffer size: 128, Total response size: 2560 Buffer size: 128, Total response size: 2688 Buffer size: 128, Total response size: 2816 Buffer size: 25, Total response size: 2841 |
Buffer size: 128, Total response size: 128 Buffer size: 128, Total response size: 256 Buffer size: 22, Total response size: 278 Buffer size: 5, Total response size: 283 Buffer size: 0, Total response size: 283 |
memset(buffer, NULL, 128);
sleep()
if bytes read is zero, this will also force a context switch and give the CPU to the sending program
HTTP/1.1 200 OK Date: Thu, 12 Jun 2008 22:26:53 GMT Server: Apache/2.2.4 (Ubuntu) PHP/5.2.3-1ubuntu6.3 Last-Modified: Thu, 30 Aug 2007 04:58:49 GMT ETag: "5c00ec-150-8fd9f440" Accept-Ranges: bytes Content-Length: 336 Connection: close Content-Type: image/png |
|
|
memcpy()
as bnbertha said.continue
.memcpy()
|
|