pkt->length = 0;
pkt->maxlen = 0;
sftp_pkt_addbyte(pkt, (unsigned char) pkt_type);
- fxp_error_message = NULL;
return pkt;
}
static void sftp_pkt_addbool(struct sftp_packet *pkt, unsigned char value)
sftp_pkt_addstring_str(pktout, path);
sftp_send(pktout);
pktin = sftp_recv();
+ if (!pktin) {
+ fxp_internal_error("did not receive a valid SFTP packet\n");
+ return NULL;
+ }
id = sftp_pkt_getuint32(pktin);
if (id != 0x123) {
fxp_internal_error("request ID mismatch\n");
sftp_pkt_adduint32(pktout, 0); /* (FIXME) empty ATTRS structure */
sftp_send(pktout);
pktin = sftp_recv();
+ if (!pktin) {
+ fxp_internal_error("did not receive a valid SFTP packet\n");
+ return NULL;
+ }
id = sftp_pkt_getuint32(pktin);
if (id != 0x567) {
fxp_internal_error("request ID mismatch\n");
sftp_pkt_addstring(pktout, path);
sftp_send(pktout);
pktin = sftp_recv();
+ if (!pktin) {
+ fxp_internal_error("did not receive a valid SFTP packet\n");
+ return NULL;
+ }
id = sftp_pkt_getuint32(pktin);
if (id != 0x456) {
fxp_internal_error("request ID mismatch\n");
sftp_pkt_addstring_data(pktout, handle->hstring, handle->hlen);
sftp_send(pktout);
pktin = sftp_recv();
+ if (!pktin) {
+ fxp_internal_error("did not receive a valid SFTP packet\n");
+ return;
+ }
id = sftp_pkt_getuint32(pktin);
if (id != 0x789) {
fxp_internal_error("request ID mismatch\n");
sftp_pkt_adduint32(pktout, 0); /* (FIXME) empty ATTRS structure */
sftp_send(pktout);
pktin = sftp_recv();
+ if (!pktin) {
+ fxp_internal_error("did not receive a valid SFTP packet\n");
+ return 0;
+ }
id = sftp_pkt_getuint32(pktin);
if (id != 0x234) {
fxp_internal_error("request ID mismatch\n");
sftp_pkt_addstring(pktout, path);
sftp_send(pktout);
pktin = sftp_recv();
+ if (!pktin) {
+ fxp_internal_error("did not receive a valid SFTP packet\n");
+ return 0;
+ }
id = sftp_pkt_getuint32(pktin);
if (id != 0x345) {
fxp_internal_error("request ID mismatch\n");
sftp_pkt_addstring(pktout, fname);
sftp_send(pktout);
pktin = sftp_recv();
+ if (!pktin) {
+ fxp_internal_error("did not receive a valid SFTP packet\n");
+ return 0;
+ }
id = sftp_pkt_getuint32(pktin);
if (id != 0x678) {
fxp_internal_error("request ID mismatch\n");
sftp_pkt_addstring(pktout, dstfname);
sftp_send(pktout);
pktin = sftp_recv();
+ if (!pktin) {
+ fxp_internal_error("did not receive a valid SFTP packet\n");
+ return 0;
+ }
id = sftp_pkt_getuint32(pktin);
if (id != 0x678) {
fxp_internal_error("request ID mismatch\n");
sftp_pkt_addstring(pktout, fname);
sftp_send(pktout);
pktin = sftp_recv();
+ if (!pktin) {
+ fxp_internal_error("did not receive a valid SFTP packet\n");
+ return 0;
+ }
id = sftp_pkt_getuint32(pktin);
if (id != 0x678) {
fxp_internal_error("request ID mismatch\n");
sftp_pkt_addstring_data(pktout, handle->hstring, handle->hlen);
sftp_send(pktout);
pktin = sftp_recv();
+ if (!pktin) {
+ fxp_internal_error("did not receive a valid SFTP packet\n");
+ return 0;
+ }
id = sftp_pkt_getuint32(pktin);
if (id != 0x678) {
fxp_internal_error("request ID mismatch\n");
sftp_pkt_addattrs(pktout, attrs);
sftp_send(pktout);
pktin = sftp_recv();
+ if (!pktin) {
+ fxp_internal_error("did not receive a valid SFTP packet\n");
+ return 0;
+ }
id = sftp_pkt_getuint32(pktin);
if (id != 0x678) {
fxp_internal_error("request ID mismatch\n");
sftp_pkt_addattrs(pktout, attrs);
sftp_send(pktout);
pktin = sftp_recv();
+ if (!pktin) {
+ fxp_internal_error("did not receive a valid SFTP packet\n");
+ return 0;
+ }
id = sftp_pkt_getuint32(pktin);
if (id != 0x678) {
fxp_internal_error("request ID mismatch\n");
sftp_pkt_adduint32(pktout, len);
sftp_send(pktout);
pktin = sftp_recv();
+ if (!pktin) {
+ fxp_internal_error("did not receive a valid SFTP packet\n");
+ return -1;
+ }
id = sftp_pkt_getuint32(pktin);
if (id != 0xBCD) {
fxp_internal_error("request ID mismatch");
sftp_pkt_addstring_data(pktout, handle->hstring, handle->hlen);
sftp_send(pktout);
pktin = sftp_recv();
+ if (!pktin) {
+ fxp_internal_error("did not receive a valid SFTP packet\n");
+ return NULL;
+ }
id = sftp_pkt_getuint32(pktin);
if (id != 0xABC) {
fxp_internal_error("request ID mismatch\n");
sftp_pkt_addstring_data(pktout, buffer, len);
sftp_send(pktout);
pktin = sftp_recv();
+ if (!pktin) {
+ fxp_internal_error("did not receive a valid SFTP packet\n");
+ return 0;
+ }
id = sftp_pkt_getuint32(pktin);
if (id != 0xDCB) {
fxp_internal_error("request ID mismatch\n");