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

Reply via email to