1
0
mirror of https://git.FreeBSD.org/ports.git synced 2025-01-10 07:04:03 +00:00

Cherry-pick two upstream fixes for crashers.

(But bump PORTREVISION instead of PORTEPOCH ;-))

http://thekelleys.org.uk/gitweb/?p=dnsmasq.git;a=commit;h=0007ee90646a5a78a96ee729932e89d31c69513a
http://thekelleys.org.uk/gitweb/?p=dnsmasq.git;a=commit;h=41a8d9e99be9f2cc8b02051dd322cb45e0faac87

Submitted by:	garga@
Obtained from:	Edwin Török, Simon Kelley
Differential Revision:	D4813
This commit is contained in:
Matthias Andree 2016-01-07 23:44:00 +00:00
parent 9b5df524f2
commit a575c8c128
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=405491
3 changed files with 35 additions and 0 deletions

View File

@ -3,6 +3,7 @@
PORTNAME= dnsmasq
DISTVERSION= 2.75
PORTREVISION= 1 # leave this in even if 0 to avoid PORTEPOCH bumps
PORTEPOCH= 1
CATEGORIES= dns ipv6
MASTER_SITES= http://www.thekelleys.org.uk/dnsmasq/ \

View File

@ -0,0 +1,11 @@
--- src/cache.c.orig 2015-07-30 19:59:07 UTC
+++ src/cache.c
@@ -481,7 +481,7 @@ struct crec *cache_insert(char *name, st
existing record is for an A or AAAA and
the record we're trying to insert is the same,
just drop the insert, but don't error the whole process. */
- if ((flags & (F_IPV4 | F_IPV6)) && (flags & F_FORWARD))
+ if ((flags & (F_IPV4 | F_IPV6)) && (flags & F_FORWARD) && addr)
{
if ((flags & F_IPV4) && (new->flags & F_IPV4) &&
new->addr.addr.addr.addr4.s_addr == addr->addr.addr4.s_addr)

View File

@ -0,0 +1,23 @@
--- src/option.c.orig 2015-07-30 19:59:07 UTC
+++ src/option.c
@@ -1501,10 +1501,16 @@ static int one_opt(int option, char *arg
li = opt_malloc(sizeof(struct list));
if (*arg == '*')
{
- li->next = match_suffix;
- match_suffix = li;
- /* Have to copy: buffer is overwritten */
- li->suffix = opt_string_alloc(arg+1);
+ /* "*" with no suffix is a no-op */
+ if (arg[1] == 0)
+ free(li);
+ else
+ {
+ li->next = match_suffix;
+ match_suffix = li;
+ /* Have to copy: buffer is overwritten */
+ li->suffix = opt_string_alloc(arg+1);
+ }
}
else
{