warning: ignoring return value of ‘write’ warning: ignoring return value of ‘read’ warning: format not a string literal and no format arguments warning: ignoring return value of ‘daemon’
Signed-off-by: Laurent Vivier <[email protected]> --- nbd-client.c | 20 ++++++++++++++------ nbd-server.c | 20 +++++++++++++------- 2 files changed, 27 insertions(+), 13 deletions(-) diff --git a/nbd-client.c b/nbd-client.c index b0631ca..9d725ca 100644 --- a/nbd-client.c +++ b/nbd-client.c @@ -153,17 +153,22 @@ void negotiate(int sock, u64 *rsize64, u32 *flags, char* name) { *flags = ((u32)ntohs(tmp)) << 16; /* reserved for future use*/ - write(sock, &reserved, sizeof(reserved)); + if (write(sock, &reserved, sizeof(reserved)) < 0) + err("Failed/2.1: %m"); /* Write the export name that we're after */ magic = ntohll(opts_magic); - write(sock, &magic, sizeof(magic)); + if (write(sock, &magic, sizeof(magic)) < 0) + err("Failed/2.2: %m"); opt = ntohl(NBD_OPT_EXPORT_NAME); - write(sock, &opt, sizeof(opt)); + if (write(sock, &opt, sizeof(opt)) < 0) + err("Failed/2.3: %m"); namesize = (u32)strlen(name); namesize = ntohl(namesize); - write(sock, &namesize, sizeof(namesize)); - write(sock, name, strlen(name)); + if (write(sock, &namesize, sizeof(namesize)) < 0) + err("Failed/2.4: %m"); + if (write(sock, name, strlen(name)) < 0) + err("Failed/2.4: %m"); } else { if (magic != cliserv_magic) err("Not enough cliserv_magic"); @@ -441,7 +446,10 @@ int main(int argc, char *argv[]) { /* Go daemon */ #ifndef NOFORK - if(!nofork) daemon(0,0); + if(!nofork) { + if (daemon(0,0) < 0) + err("Cannot detach from terminal"); + } #endif do { #ifndef NOFORK diff --git a/nbd-server.c b/nbd-server.c index 2d73079..382dfd3 100644 --- a/nbd-server.c +++ b/nbd-server.c @@ -1265,25 +1265,31 @@ CLIENT* negotiate(int net, CLIENT *client, GArray* servers) { if(!servers) err("programmer error"); - write(net, &smallflags, sizeof(uint16_t)); - read(net, &reserved, sizeof(reserved)); - read(net, &magic, sizeof(magic)); + if (write(net, &smallflags, sizeof(uint16_t)) < 0) + err("Negotiation failed: %m"); + if (read(net, &reserved, sizeof(reserved)) < 0) + err("Negotiation failed: %m"); + if (read(net, &magic, sizeof(magic)) < 0) + err("Negotiation failed: %m"); magic = ntohll(magic); if(magic != opts_magic) { close(net); return NULL; } - read(net, &opt, sizeof(opt)); + if (read(net, &opt, sizeof(opt)) < 0) + err("Negotiation failed: %m"); opt = ntohl(opt); if(opt != NBD_OPT_EXPORT_NAME) { close(net); return NULL; } - read(net, &namelen, sizeof(namelen)); + if (read(net, &namelen, sizeof(namelen)) < 0) + err("Negotiation failed: %m"); namelen = ntohl(namelen); name = malloc(namelen+1); name[namelen]=0; - read(net, name, namelen); + if (read(net, name, namelen) < 0) + err("Negotiation failed: %m"); for(i=0; i<servers->len; i++) { SERVER* serve = &(g_array_index(servers, SERVER, i)); if(!strcmp(serve->servename, name)) { @@ -2044,7 +2050,7 @@ void glib_message_syslog_redirect(const gchar *log_domain, default: level=LOG_ERR; } - syslog(level, message); + syslog(level, "%s", message); } #endif -- 1.7.0.4 ------------------------------------------------------------------------------ Sell apps to millions through the Intel(R) Atom(Tm) Developer Program Be part of this innovative community and reach millions of netbook users worldwide. Take advantage of special opportunities to increase revenue and speed time-to-market. Join now, and jumpstart your future. http://p.sf.net/sfu/intel-atom-d2d _______________________________________________ Nbd-general mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/nbd-general
