Remove GCC warnings:
authorLaurent Vivier <laurent@vivier.eu>
Mon, 23 Aug 2010 20:51:50 +0000 (22:51 +0200)
committerWouter Verhelst <w@uter.be>
Thu, 26 Aug 2010 15:16:33 +0000 (17:16 +0200)
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 <laurent@vivier.eu>

nbd-client.c
nbd-server.c

index b0631ca..9d725ca 100644 (file)
@@ -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
index 2e3a673..a11e37a 100644 (file)
@@ -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