- data = silc_malloc(len);
- if (!data) {
- (*callback)(sftp, SILC_SFTP_STATUS_EOF, NULL, 0, callback_context);
+ ret = lseek(h->fd, (off_t)offset, SEEK_SET);
+ if (ret < 0) {
+ if (!ret)
+ (*callback)(sftp, SILC_SFTP_STATUS_EOF, NULL, 0, callback_context);
+ else
+ (*callback)(sftp, silc_sftp_map_errno(silc_errno),
+ NULL, 0, callback_context);