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 @@ -5,7 +5,7 @@ refs/heads/snap-stage3: 78a7676898d9f80ab540c6df5d4c9ce35bb50463
5
5
refs/heads/try: 519addf6277dbafccbb4159db4b710c37eaa2ec5
6
6
refs/tags/release-0.1: 1f5c5126e96c79d22cb7862f75304136e204f105
7
7
refs/heads/ndm: f3868061cd7988080c30d6d5bf352a5a5fe2460b
8
- refs/heads/try2: 21ce41d42d6b86e482ec2e7fe01b3feb74dd4ea4
8
+ refs/heads/try2: fe03d827a4910c561507be0802bb5f39a477cc02
9
9
refs/heads/dist-snap: ba4081a5a8573875fed17545846f6f6902c8ba8d
10
10
refs/tags/release-0.2: c870d2dffb391e14efb05aa27898f1f6333a9596
11
11
refs/tags/release-0.3: b5f0d0f648d9a6153664837026ba1be43d3e2503
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