diff options
author | Timo Teräs <timo.teras@iki.fi> | 2014-05-22 20:30:05 +0300 |
---|---|---|
committer | Timo Teräs <timo.teras@iki.fi> | 2014-05-22 20:30:36 +0300 |
commit | b15a27018deda4d4a9666dbd22e1df74e681c7d5 (patch) | |
tree | 5e1f237669553b0bb47112d882c5fe8789c9581e /main/libmaxminddb/0001-avoid-unneeded-memory-allocations.patch | |
parent | 45f94bbadb7c0f693557ac4b7d51d4e7a832d787 (diff) | |
download | aports-b15a27018deda4d4a9666dbd22e1df74e681c7d5.tar.bz2 aports-b15a27018deda4d4a9666dbd22e1df74e681c7d5.tar.xz |
main/libmaxminddb: upgrade to 0.5.5
the license was changed, so update it.
Diffstat (limited to 'main/libmaxminddb/0001-avoid-unneeded-memory-allocations.patch')
-rw-r--r-- | main/libmaxminddb/0001-avoid-unneeded-memory-allocations.patch | 112 |
1 files changed, 0 insertions, 112 deletions
diff --git a/main/libmaxminddb/0001-avoid-unneeded-memory-allocations.patch b/main/libmaxminddb/0001-avoid-unneeded-memory-allocations.patch deleted file mode 100644 index 3126a56036..0000000000 --- a/main/libmaxminddb/0001-avoid-unneeded-memory-allocations.patch +++ /dev/null @@ -1,112 +0,0 @@ -From f4e82c231bd5089db5ee8b8082489304264bc805 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Timo=20Ter=C3=A4s?= <timo.teras@iki.fi> -Date: Thu, 14 Nov 2013 14:35:18 +0200 -Subject: [PATCH 1/2] avoid unneeded memory allocations - ---- - bin/mmdblookup.c | 18 ++++++------------ - src/maxminddb.c | 14 +++++--------- - 2 files changed, 11 insertions(+), 21 deletions(-) - -diff --git a/bin/mmdblookup.c b/bin/mmdblookup.c -index ac72a93..4b7733d 100644 ---- a/bin/mmdblookup.c -+++ b/bin/mmdblookup.c -@@ -24,7 +24,7 @@ LOCAL int lookup_and_print(MMDB_s *mmdb, const char *ip_address, - int lookup_path_length); - LOCAL int benchmark(MMDB_s *mmdb, int iterations); - LOCAL MMDB_lookup_result_s lookup_or_die(MMDB_s *mmdb, const char *ipstr); --LOCAL char *random_ipv4(); -+LOCAL void random_ipv4(char *ip); - /* --prototypes end - don't remove this comment-- */ - /* *INDENT-ON* */ - -@@ -304,13 +304,14 @@ LOCAL int lookup_and_print(MMDB_s *mmdb, const char *ip_address, - - LOCAL int benchmark(MMDB_s *mmdb, int iterations) - { -+ char ip_address[16]; - int exit_code = 0; -- srand( time(NULL) ); - -+ srand( time(NULL) ); - clock_t time = clock(); - - for (int i = 0; i < iterations; i++) { -- char *ip_address = random_ipv4(); -+ random_ipv4(ip_address); - - MMDB_lookup_result_s result = lookup_or_die(mmdb, ip_address); - MMDB_entry_data_list_s *entry_data_list = NULL; -@@ -324,13 +325,11 @@ LOCAL int benchmark(MMDB_s *mmdb, int iterations) - fprintf(stderr, "Got an error looking up the entry data - %s\n", - MMDB_strerror(status)); - exit_code = 5; -- free(ip_address); - MMDB_free_entry_data_list(entry_data_list); - goto end; - } - } - -- free(ip_address); - MMDB_free_entry_data_list(entry_data_list); - } - -@@ -369,13 +368,8 @@ LOCAL MMDB_lookup_result_s lookup_or_die(MMDB_s *mmdb, const char *ipstr) - return result; - } - --LOCAL char *random_ipv4() -+LOCAL void random_ipv4(char *ip) - { -- int ip_int = rand(); -- uint8_t *bytes = (uint8_t *)&ip_int; -- -- char *ip = malloc(16); - snprintf(ip, 16, "%u.%u.%u.%u", -- *bytes, *(bytes + 1), *(bytes + 2), *(bytes + 3)); -- return ip; -+ rand()&0xff, rand()&0xff, rand()&0xff, rand()&0xff); - } -diff --git a/src/maxminddb.c b/src/maxminddb.c -index f3a7dfd..3bf7154 100644 ---- a/src/maxminddb.c -+++ b/src/maxminddb.c -@@ -625,20 +625,18 @@ MMDB_lookup_result_s MMDB_lookup_sockaddr(MMDB_s *mmdb, - } - }; - -- uint8_t *address; -+ uint8_t mapped_address[16], *address; - if (mmdb->metadata.ip_version == 4) { - if (sockaddr->sa_family == AF_INET6) { - return result; - } -- address = malloc(4); -- memcpy(address, &((struct sockaddr_in *)sockaddr)->sin_addr.s_addr, 4); -+ address = (uint8_t*) &((struct sockaddr_in *)sockaddr)->sin_addr.s_addr; - } else { -- // We need calloc() here for the IPv4 case - the first 12 bytes must be 0 -- address = calloc(1, 16); - if (sockaddr->sa_family == AF_INET6) { -- memcpy(address, -- ((struct sockaddr_in6 *)sockaddr)->sin6_addr.s6_addr, 16); -+ address = (uint8_t*) &((struct sockaddr_in6 *)sockaddr)->sin6_addr.s6_addr; - } else { -+ address = mapped_address; -+ memset(address, 0, 12); - memcpy(address + 12, - &((struct sockaddr_in *)sockaddr)->sin_addr.s_addr, 4); - } -@@ -648,8 +646,6 @@ MMDB_lookup_result_s MMDB_lookup_sockaddr(MMDB_s *mmdb, - find_address_in_search_tree(mmdb, address, sockaddr->sa_family, - &result); - -- free(address); -- - return result; - } - --- -1.8.4.1 - |