Signed-off-by: Kenfe-Mickael Laventure <mickael.laventure@gmail.com>
Kenfe-Mickael Laventure authored on 2017/02/22 04:07:57... | ... |
@@ -237,7 +237,10 @@ drain: |
237 | 237 |
|
238 | 238 |
// free(NULL) is safe |
239 | 239 |
C.free(unsafe.Pointer(oldCursor)) |
240 |
- C.sd_journal_get_cursor(j, &cursor) |
|
240 |
+ if C.sd_journal_get_cursor(j, &cursor) != 0 { |
|
241 |
+ // ensure that we won't be freeing an address that's invalid |
|
242 |
+ cursor = nil |
|
243 |
+ } |
|
241 | 244 |
return cursor |
242 | 245 |
} |
243 | 246 |
|
... | ... |
@@ -272,7 +275,6 @@ func (s *journald) followJournal(logWatcher *logger.LogWatcher, config logger.Re |
272 | 272 |
s.readers.mu.Lock() |
273 | 273 |
delete(s.readers.readers, logWatcher) |
274 | 274 |
s.readers.mu.Unlock() |
275 |
- C.sd_journal_close(j) |
|
276 | 275 |
close(logWatcher.Msg) |
277 | 276 |
}() |
278 | 277 |
|
... | ... |
@@ -307,9 +309,9 @@ func (s *journald) readLogs(logWatcher *logger.LogWatcher, config logger.ReadCon |
307 | 307 |
following := false |
308 | 308 |
defer func(pfollowing *bool) { |
309 | 309 |
if !*pfollowing { |
310 |
- C.sd_journal_close(j) |
|
311 | 310 |
close(logWatcher.Msg) |
312 | 311 |
} |
312 |
+ C.sd_journal_close(j) |
|
313 | 313 |
}(&following) |
314 | 314 |
// Remove limits on the size of data items that we'll retrieve. |
315 | 315 |
rc = C.sd_journal_set_data_threshold(j, C.size_t(0)) |