diff options
Diffstat (limited to 'src/util')
-rw-r--r-- | src/util/disk.c | 13 | ||||
-rw-r--r-- | src/util/test_strings.c | 2 |
2 files changed, 14 insertions, 1 deletions
diff --git a/src/util/disk.c b/src/util/disk.c index e280374d3..ce0b2676f 100644 --- a/src/util/disk.c +++ b/src/util/disk.c | |||
@@ -1432,6 +1432,10 @@ struct GNUNET_DISK_MapHandle | |||
1432 | }; | 1432 | }; |
1433 | 1433 | ||
1434 | 1434 | ||
1435 | #ifndef MAP_FAILED | ||
1436 | #define MAP_FAILED ((void *) -1) | ||
1437 | #endif | ||
1438 | |||
1435 | /** | 1439 | /** |
1436 | * Map a file into memory | 1440 | * Map a file into memory |
1437 | * | 1441 | * |
@@ -1498,6 +1502,7 @@ GNUNET_DISK_file_map (const struct GNUNET_DISK_FileHandle *h, | |||
1498 | return ret; | 1502 | return ret; |
1499 | #else | 1503 | #else |
1500 | int prot; | 1504 | int prot; |
1505 | int ec; | ||
1501 | 1506 | ||
1502 | prot = 0; | 1507 | prot = 0; |
1503 | if (access & GNUNET_DISK_MAP_TYPE_READ) | 1508 | if (access & GNUNET_DISK_MAP_TYPE_READ) |
@@ -1506,6 +1511,14 @@ GNUNET_DISK_file_map (const struct GNUNET_DISK_FileHandle *h, | |||
1506 | prot |= PROT_WRITE; | 1511 | prot |= PROT_WRITE; |
1507 | *m = GNUNET_malloc (sizeof (struct GNUNET_DISK_MapHandle)); | 1512 | *m = GNUNET_malloc (sizeof (struct GNUNET_DISK_MapHandle)); |
1508 | (*m)->addr = mmap (NULL, len, prot, MAP_SHARED, h->fd, 0); | 1513 | (*m)->addr = mmap (NULL, len, prot, MAP_SHARED, h->fd, 0); |
1514 | GNUNET_assert (NULL != (*m)->addr); | ||
1515 | if (MAP_FAILED == (*m)->addr) | ||
1516 | { | ||
1517 | ec = errno; | ||
1518 | GNUNET_free (*m); | ||
1519 | errno = ec; | ||
1520 | return NULL; | ||
1521 | } | ||
1509 | (*m)->len = len; | 1522 | (*m)->len = len; |
1510 | return (*m)->addr; | 1523 | return (*m)->addr; |
1511 | #endif | 1524 | #endif |
diff --git a/src/util/test_strings.c b/src/util/test_strings.c index be166e629..107bb746c 100644 --- a/src/util/test_strings.c +++ b/src/util/test_strings.c | |||
@@ -90,11 +90,11 @@ check () | |||
90 | GNUNET_free (r); | 90 | GNUNET_free (r); |
91 | return 1; | 91 | return 1; |
92 | } | 92 | } |
93 | GNUNET_free (r); | ||
93 | b = GNUNET_STRINGS_to_utf8 ("TEST", 4, "ASCII"); | 94 | b = GNUNET_STRINGS_to_utf8 ("TEST", 4, "ASCII"); |
94 | WANT ("TEST", b); | 95 | WANT ("TEST", b); |
95 | b = GNUNET_STRINGS_to_utf8 ("TEST", 4, "unknown"); | 96 | b = GNUNET_STRINGS_to_utf8 ("TEST", 4, "unknown"); |
96 | WANT ("TEST", b); | 97 | WANT ("TEST", b); |
97 | GNUNET_free (r); | ||
98 | return 0; | 98 | return 0; |
99 | } | 99 | } |
100 | 100 | ||