curl-library
Re: Reported tftp resend bug missing in curl 7.23.1?
Date: Thu, 12 Jan 2012 11:00:52 -0800 (PST)
From: Dan Fandrich <dan@coneharvesters.com>
> It looks like the fix was pushed in commit 592df29f, and the 7.23.1
> RELEASE-NOTES file says "TFTP: resend the correct data".
I'm unable to locate this 7.23.1 RELEASE-NOTES mentioning "TFTP: resend the correct data".
I downloaded the 7.23.1 code as well as looked up the latest code (I assume) online at https://github.com/bagder/curl/blob/master/lib/tftp.c%a0and still see the unchanged code.
[the following from 7.23.1. Pay attention to line # 730]
719 infof(data, "Received ACK for block %d, expecting %d\n",
720 rblock, state->block);
721 state->retries++;
722 /* Bail out if over the maximum */
723 if(state->retries>state->retry_max) {
724 failf(data, "tftp_tx: giving up waiting for block %d ack",
725 state->block);
726 res = CURLE_SEND_ERROR;
727 }
728 else {
729 /* Re-send the data packet */
730 sbytes = sendto(state->sockfd, (void *)&state->spacket.data,
731 4+state->sbytes, SEND_4TH_ARG,
732 (struct sockaddr *)&state->remote_addr,
733 state->remote_addrlen);
734 /* Check all sbytes were sent */
735 if(sbytes<0) {
736 failf(data, "%s", Curl_strerror(state->conn, SOCKERRNO));
737 res = CURLE_SEND_ERROR;
738 }
739 }
740 return res;
I think that the change for the second arg of sendto() should be (void *)state->spacket.data. Please check the other sendto() calls in the same file.
Please clarify.
Thanks,
steve
-------------------------------------------------------------------
List admin: http://cool.haxx.se/list/listinfo/curl-library
Etiquette: http://curl.haxx.se/mail/etiquette.html
Received on 2012-01-12