[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]
[or-cvs] r9035: Fix a couple of obvious bugs in tor_mmap_file on Windows: fi (in tor/trunk: . src/common)
- To: or-cvs@xxxxxxxxxxxxx
- Subject: [or-cvs] r9035: Fix a couple of obvious bugs in tor_mmap_file on Windows: fi (in tor/trunk: . src/common)
- From: nickm@xxxxxxxx
- Date: Thu, 7 Dec 2006 09:39:47 -0500 (EST)
- Delivered-to: archiver@seul.org
- Delivered-to: or-cvs-outgoing@seul.org
- Delivered-to: or-cvs@seul.org
- Delivery-date: Thu, 07 Dec 2006 09:39:57 -0500
- Reply-to: or-talk@xxxxxxxxxxxxx
- Sender: owner-or-cvs@xxxxxxxxxxxxx
Author: nickm
Date: 2006-12-07 09:39:42 -0500 (Thu, 07 Dec 2006)
New Revision: 9035
Modified:
tor/trunk/
tor/trunk/src/common/compat.c
Log:
r11444@Kushana: nickm | 2006-12-07 09:38:52 -0500
Fix a couple of obvious bugs in tor_mmap_file on Windows: first, fix a boolean error when checking the return value of CreateFileMapping. Second, CreateFileMapping is documented to return NULL on failure.
Property changes on: tor/trunk
___________________________________________________________________
svk:merge ticket from /tor/trunk [r11444] on c95137ef-5f19-0410-b913-86e773d04f59
Modified: tor/trunk/src/common/compat.c
===================================================================
--- tor/trunk/src/common/compat.c 2006-12-07 09:18:10 UTC (rev 9034)
+++ tor/trunk/src/common/compat.c 2006-12-07 14:39:42 UTC (rev 9035)
@@ -183,7 +183,8 @@
tor_mmap_file(const char *filename)
{
win_mmap_t *res = tor_malloc_zero(sizeof(win_mmap_t));
- res->mmap_handle = res->file_handle = INVALID_HANDLE_VALUE;
+ res->file_handle = INVALID_HANDLE_VALUE;
+ res->mmap_handle = NULL;
res->file_handle = CreateFile(filename,
GENERIC_READ,
@@ -207,7 +208,7 @@
#endif
(res->base.size & 0xfffffffful),
NULL);
- if (res->mmap_handle != INVALID_HANDLE_VALUE)
+ if (res->mmap_handle == NULL)
goto err;
res->base.data = (char*) MapViewOfFile(res->mmap_handle,
FILE_MAP_READ,
@@ -226,12 +227,11 @@
win_mmap_t *h = (win_mmap_t*)
(((char*)handle) - STRUCT_OFFSET(win_mmap_t, base));
if (handle->data)
-
- /*this is an ugly cast, but without it, "data" in struct tor_mmap_t would
- have to be redefined as const*/
+ /* This is an ugly cast, but without it, "data" in struct tor_mmap_t would
+ have to be redefined as non-const. */
UnmapViewOfFile( (LPVOID) handle->data);
- if (h->mmap_handle != INVALID_HANDLE_VALUE)
+ if (h->mmap_handle != NULL)
CloseHandle(h->mmap_handle);
if (h->file_handle != INVALID_HANDLE_VALUE)
CloseHandle(h->file_handle);