File tree Expand file tree Collapse file tree 2 files changed +12
-2
lines changed Expand file tree Collapse file tree 2 files changed +12
-2
lines changed Original file line number Diff line number Diff line change 2
2
refs/heads/master: 4c6bf4872012c010f84dc7fa2cdfe87522533f89
3
3
refs/heads/snap-stage1: e33de59e47c5076a89eadeb38f4934f58a3618a6
4
4
refs/heads/snap-stage3: cbd1eefbd350797b783df119fed7956d7e1c74ad
5
- refs/heads/try: 21ce41d42d6b86e482ec2e7fe01b3feb74dd4ea4
5
+ refs/heads/try: fe03d827a4910c561507be0802bb5f39a477cc02
6
6
refs/tags/release-0.1: 1f5c5126e96c79d22cb7862f75304136e204f105
7
7
refs/heads/ndm: f3868061cd7988080c30d6d5bf352a5a5fe2460b
8
8
refs/heads/try2: 147ecfdd8221e4a4d4e090486829a06da1e0ca3c
Original file line number Diff line number Diff line change @@ -91,7 +91,17 @@ pub fn read(prompt: &str) -> Option<~str> {
91
91
let line = locked ! ( rustrt:: linenoise( buf) ) ;
92
92
93
93
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
+ }
95
105
}
96
106
}
97
107
You can’t perform that action at this time.
0 commit comments