mirror of
https://github.com/netsurf-browser/netsurf
synced 2024-12-23 04:26:50 +03:00
Fix undersized buffer for reading port number into
Detect no URLs for a host before adding host to database. svn path=/trunk/netsurf/; revision=2530
This commit is contained in:
parent
3e54aab0d5
commit
5873160a8b
@ -312,14 +312,21 @@ void urldb_load(const char *filename)
|
||||
}
|
||||
}
|
||||
|
||||
h = urldb_add_host(host);
|
||||
if (!h)
|
||||
die("Memory exhausted whilst loading URL file");
|
||||
|
||||
/* read number of URLs */
|
||||
if (!fgets(s, MAXIMUM_URL_LENGTH, fp))
|
||||
break;
|
||||
urls = atoi(s);
|
||||
|
||||
/* no URLs => try next host */
|
||||
if (urls == 0) {
|
||||
LOG(("No URLs for '%s'", host));
|
||||
continue;
|
||||
}
|
||||
|
||||
h = urldb_add_host(host);
|
||||
if (!h)
|
||||
die("Memory exhausted whilst loading URL file");
|
||||
|
||||
/* load the non-corrupt data */
|
||||
for (i = 0; i < urls; i++) {
|
||||
struct path_data *p = NULL;
|
||||
@ -354,7 +361,7 @@ void urldb_load(const char *filename)
|
||||
p = urldb_find_url(s);
|
||||
}
|
||||
} else {
|
||||
char scheme[64], ports[6];
|
||||
char scheme[64], ports[10];
|
||||
char url[64 + 3 + 256 + 6 + 4096 + 1];
|
||||
unsigned int port;
|
||||
bool is_file = false;
|
||||
|
Loading…
Reference in New Issue
Block a user