1
0
mirror of https://git.FreeBSD.org/ports.git synced 2025-01-02 06:03:50 +00:00

Fix pkg audit -F

Reported by:	Nikolai Lifanov <lifanov@mail.lifanov.com>
This commit is contained in:
Baptiste Daroussin 2013-05-30 17:53:07 +00:00
parent 7a98b659fc
commit af74337567
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=319440
2 changed files with 49 additions and 0 deletions

View File

@ -2,6 +2,7 @@
PORTNAME= pkg
DISTVERSION= 1.1.0.b1
PORTREVISION= 1
CATEGORIES= ports-mgmt
MASTER_SITES= http://files.etoilebsd.net/pkg/ \
http://mirror.shatow.net/freebsd/${PORTNAME}/ \

View File

@ -0,0 +1,48 @@
diff --git libpkg/fetch.c libpkg/fetch.c
index 88979da..5dd3a94 100644
--- libpkg/fetch.c
+++ libpkg/fetch.c
@@ -250,7 +250,7 @@ pkg_fetch_file_to_fd(struct pkg_repo *repo, const char *url, int dest, time_t *t
doc = u->doc;
while (remote == NULL) {
if (retry == max_retry) {
- if (repo->mirror_type == SRV &&
+ if (repo != NULL && repo->mirror_type == SRV &&
(strncmp(u->scheme, "http", 4) == 0
|| strcmp(u->scheme, "ftp") == 0)) {
snprintf(zone, sizeof(zone),
@@ -258,7 +258,7 @@ pkg_fetch_file_to_fd(struct pkg_repo *repo, const char *url, int dest, time_t *t
if (repo->srv == NULL)
repo->srv = dns_getsrvinfo(zone);
srv_current = repo->srv;
- } else if (repo->mirror_type == HTTP &&
+ } else if (repo != NULL && repo->mirror_type == HTTP &&
strncmp(u->scheme, "http", 4) == 0) {
snprintf(zone, sizeof(zone),
"%s://%s", u->scheme, u->host);
@@ -268,9 +268,9 @@ pkg_fetch_file_to_fd(struct pkg_repo *repo, const char *url, int dest, time_t *t
}
}
- if (repo->mirror_type == SRV && repo->srv != NULL)
+ if (repo != NULL && repo->mirror_type == SRV && repo->srv != NULL)
strlcpy(u->host, srv_current->host, sizeof(u->host));
- else if (repo->mirror_type == HTTP && repo->http != NULL) {
+ else if (repo != NULL && repo->mirror_type == HTTP && repo->http != NULL) {
strlcpy(u->scheme, http_current->url->scheme, sizeof(u->scheme));
strlcpy(u->host, http_current->url->host, sizeof(u->host));
snprintf(docpath, MAXPATHLEN, "%s%s", http_current->url->doc, doc);
@@ -291,11 +291,11 @@ pkg_fetch_file_to_fd(struct pkg_repo *repo, const char *url, int dest, time_t *t
retcode = EPKG_FATAL;
goto cleanup;
}
- if (repo->mirror_type == SRV && repo->srv != NULL) {
+ if (repo != NULL && repo->mirror_type == SRV && repo->srv != NULL) {
srv_current = srv_current->next;
if (srv_current == NULL)
srv_current = repo->srv;
- } else if (repo->mirror_type == HTTP && repo->http != NULL) {
+ } else if (repo != NULL && repo->mirror_type == HTTP && repo->http != NULL) {
http_current = repo->http->next;
if (http_current == NULL)
http_current = repo->http;