Skip to content

Commit c0d129f

Browse files
committed
---
yaml --- r: 80670 b: refs/heads/try c: fe03d82 h: refs/heads/master v: v3
1 parent f9e007c commit c0d129f

File tree

2 files changed

+12
-2
lines changed

2 files changed

+12
-2
lines changed

[refs]

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
refs/heads/master: 4c6bf4872012c010f84dc7fa2cdfe87522533f89
33
refs/heads/snap-stage1: e33de59e47c5076a89eadeb38f4934f58a3618a6
44
refs/heads/snap-stage3: cbd1eefbd350797b783df119fed7956d7e1c74ad
5-
refs/heads/try: 21ce41d42d6b86e482ec2e7fe01b3feb74dd4ea4
5+
refs/heads/try: fe03d827a4910c561507be0802bb5f39a477cc02
66
refs/tags/release-0.1: 1f5c5126e96c79d22cb7862f75304136e204f105
77
refs/heads/ndm: f3868061cd7988080c30d6d5bf352a5a5fe2460b
88
refs/heads/try2: 147ecfdd8221e4a4d4e090486829a06da1e0ca3c

branches/try/src/libextra/rl.rs

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -91,7 +91,17 @@ pub fn read(prompt: &str) -> Option<~str> {
9191
let line = locked!(rustrt::linenoise(buf));
9292

9393
if line.is_null() { None }
94-
else { Some(str::raw::from_c_str(line)) }
94+
else {
95+
unsafe {
96+
do (|| {
97+
Some(str::raw::from_c_str(line))
98+
}).finally {
99+
// linenoise's return value is from strdup, so we
100+
// better not leak it.
101+
rt::global_heap::exchange_free(line);
102+
}
103+
}
104+
}
95105
}
96106
}
97107

0 commit comments

Comments
 (0)