index out of bounds exception when data is empty (#12428)
This commit is contained in:
parent
5bb6c67a45
commit
f0c5d99924
1 changed files with 11 additions and 9 deletions
|
|
@ -1838,15 +1838,17 @@ proc send*(socket: AsyncFD, data: string,
|
|||
## Sends ``data`` to ``socket``. The returned future will complete once all
|
||||
## data has been sent.
|
||||
var retFuture = newFuture[void]("send")
|
||||
|
||||
let sendFut = socket.send(unsafeAddr data[0], data.len, flags)
|
||||
sendFut.callback =
|
||||
proc () =
|
||||
keepAlive(data)
|
||||
if sendFut.failed:
|
||||
retFuture.fail(sendFut.error)
|
||||
else:
|
||||
retFuture.complete()
|
||||
if data.len > 0:
|
||||
let sendFut = socket.send(unsafeAddr data[0], data.len, flags)
|
||||
sendFut.callback =
|
||||
proc () =
|
||||
keepAlive(data)
|
||||
if sendFut.failed:
|
||||
retFuture.fail(sendFut.error)
|
||||
else:
|
||||
retFuture.complete()
|
||||
else:
|
||||
retFuture.complete()
|
||||
|
||||
return retFuture
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue