diff options
author | Pavel Roschin <roshin@scriptumplus.ru> | 2016-02-02 23:20:39 +0300 |
---|---|---|
committer | Pavel Roschin <roshin@scriptumplus.ru> | 2016-02-02 23:20:39 +0300 |
commit | 17dff030ae4eab34c06117aef97aac0c3ad9342a (patch) | |
tree | d7620acb99ed6416b8f07e227d1214f6e735951a /lib/system.nim | |
parent | 3e33084da7ed51818335ba785c2de837a4d653db (diff) | |
download | Nim-17dff030ae4eab34c06117aef97aac0c3ad9342a.tar.gz |
Use defer in iterator to avoid possible leaks. Fixes #3802
Diffstat (limited to 'lib/system.nim')
-rw-r--r-- | lib/system.nim | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/lib/system.nim b/lib/system.nim index 69c6e1290..1a0a11ff0 100644 --- a/lib/system.nim +++ b/lib/system.nim @@ -2960,9 +2960,9 @@ when not defined(JS): #and not defined(nimscript): ## buffer.add(line.replace("a", "0") & '\x0A') ## writeFile(filename, buffer) var f = open(filename, bufSize=8000) + defer: close(f) var res = TaintedString(newStringOfCap(80)) while f.readLine(res): yield res - close(f) iterator lines*(f: File): TaintedString {.tags: [ReadIOEffect].} = ## Iterate over any line in the file `f`. |