diff options
author | Corinna Vinschen <corinna@vinschen.de> | 2013-10-25 15:04:24 +0000 |
---|---|---|
committer | Corinna Vinschen <corinna@vinschen.de> | 2013-10-25 15:04:24 +0000 |
commit | f0b101007a157fcef051b8fa858365ee97f5a689 (patch) | |
tree | 8171f0ac229e8beb86dde5a31bf84e62c7fbd995 /winsup/cygwin/fhandler_clipboard.cc | |
parent | 494c6264145f989001e9cde0ad06e1f6d94f1a66 (diff) | |
download | cygnal-f0b101007a157fcef051b8fa858365ee97f5a689.tar.gz cygnal-f0b101007a157fcef051b8fa858365ee97f5a689.tar.bz2 cygnal-f0b101007a157fcef051b8fa858365ee97f5a689.zip |
* fhandler_clipboard.cc (fhandler_dev_clipboard::open): Drop gratuitios
handling of membuffer. It's NULL anyway.
(fhandler_dev_clipboard::lseek): Set membuffer to NULL after freeing
it to avoid subsequent crashes when accessing invalid pointer.
Diffstat (limited to 'winsup/cygwin/fhandler_clipboard.cc')
-rw-r--r-- | winsup/cygwin/fhandler_clipboard.cc | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/winsup/cygwin/fhandler_clipboard.cc b/winsup/cygwin/fhandler_clipboard.cc index db72b9787..ad5304f0b 100644 --- a/winsup/cygwin/fhandler_clipboard.cc +++ b/winsup/cygwin/fhandler_clipboard.cc @@ -69,9 +69,6 @@ fhandler_dev_clipboard::open (int flags, mode_t) { set_flags (flags | O_TEXT); pos = 0; - if (membuffer) - free (membuffer); - membuffer = NULL; if (!cygnativeformat) cygnativeformat = RegisterClipboardFormatW (CYGWIN_NATIVE); nohandle (true); @@ -336,7 +333,10 @@ fhandler_dev_clipboard::lseek (off_t offset, int whence) pos = offset; /* treat seek like rewind */ if (membuffer) - free (membuffer); + { + free (membuffer); + membuffer = NULL; + } msize = 0; return 0; } |