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");