catch error from as.*printf

This commit is contained in:
Love Hornquist Astrand
2010-05-30 12:41:06 -07:00
parent f4f59121c3
commit 9773655027
4 changed files with 13 additions and 11 deletions

View File

@@ -66,11 +66,13 @@ setup_int(const char *proxy_host, short proxy_port,
memset(&dns_addr, 0, sizeof(dns_addr)); memset(&dns_addr, 0, sizeof(dns_addr));
if(dns_req) if(dns_req)
free(dns_req); free(dns_req);
dns_req = NULL;
if(proxy_host) { if(proxy_host) {
if(make_address(proxy_host, &dns_addr.sin_addr) != 0) if(make_address(proxy_host, &dns_addr.sin_addr) != 0)
return -1; return -1;
dns_addr.sin_port = htons(proxy_port); dns_addr.sin_port = htons(proxy_port);
asprintf(&dns_req, "http://%s:%d%s", dns_host, dns_port, dns_path); if (asprintf(&dns_req, "http://%s:%d%s", dns_host, dns_port, dns_path) < 0)
return -1;
} else { } else {
if(make_address(dns_host, &dns_addr.sin_addr) != 0) if(make_address(dns_host, &dns_addr.sin_addr) != 0)
return -1; return -1;
@@ -135,7 +137,7 @@ roken_gethostby(const char *hostname)
{ {
int s; int s;
struct sockaddr_in addr; struct sockaddr_in addr;
char *request; char *request = NULL;
char buf[1024]; char buf[1024];
int offset = 0; int offset = 0;
int n; int n;
@@ -144,7 +146,8 @@ roken_gethostby(const char *hostname)
if(dns_addr.sin_family == 0) if(dns_addr.sin_family == 0)
return NULL; /* no configured host */ return NULL; /* no configured host */
addr = dns_addr; addr = dns_addr;
asprintf(&request, "GET %s?%s HTTP/1.0\r\n\r\n", dns_req, hostname); if (asprintf(&request, "GET %s?%s HTTP/1.0\r\n\r\n", dns_req, hostname) < 0)
return NULL;
if(request == NULL) if(request == NULL)
return NULL; return NULL;
s = socket(AF_INET, SOCK_STREAM, 0); s = socket(AF_INET, SOCK_STREAM, 0);

View File

@@ -48,13 +48,12 @@ ROKEN_LIB_FUNCTION int ROKEN_LIB_CALL
setenv(const char *var, const char *val, int rewrite) setenv(const char *var, const char *val, int rewrite)
{ {
#ifndef _WIN32 #ifndef _WIN32
char *t; char *t = NULL;
if (!rewrite && getenv(var) != 0) if (!rewrite && getenv(var) != 0)
return 0; return 0;
asprintf (&t, "%s=%s", var, val); if (asprintf (&t, "%s=%s", var, val) < 0 || t == NULL)
if (t == NULL)
return -1; return -1;
if (putenv(t) == 0) if (putenv(t) == 0)

View File

@@ -64,6 +64,7 @@ vsyslog(int pri, const char *fmt, va_list ap)
char *fmt2; char *fmt2;
const char *p; const char *p;
char *p2; char *p2;
int ret;
int saved_errno = errno; int saved_errno = errno;
int fmt_len = strlen (fmt); int fmt_len = strlen (fmt);
int fmt2_len = fmt_len; int fmt2_len = fmt_len;
@@ -100,9 +101,9 @@ vsyslog(int pri, const char *fmt, va_list ap)
} }
*p2 = '\0'; *p2 = '\0';
vasprintf (&buf, fmt2, ap); ret = vasprintf (&buf, fmt2, ap);
free (fmt2); free (fmt2);
if (buf == NULL) { if (ret < 0 || buf == NULL) {
simple_vsyslog (pri, fmt, ap); simple_vsyslog (pri, fmt, ap);
return; return;
} }

View File

@@ -38,11 +38,10 @@
ROKEN_LIB_FUNCTION char * ROKEN_LIB_CALL ROKEN_LIB_FUNCTION char * ROKEN_LIB_CALL
pid_file_write (const char *progname) pid_file_write (const char *progname)
{ {
char *ret = NULL;
FILE *fp; FILE *fp;
char *ret;
asprintf (&ret, "%s%s.pid", _PATH_VARRUN, progname); if (asprintf (&ret, "%s%s.pid", _PATH_VARRUN, progname) < 0 || ret == NULL)
if (ret == NULL)
return NULL; return NULL;
fp = fopen (ret, "w"); fp = fopen (ret, "w");
if (fp == NULL) { if (fp == NULL) {