Blob Blame History Raw
diff -up stunnel-5.48/src/file.c.coverity stunnel-5.48/src/file.c
--- stunnel-5.48/src/file.c.coverity	2018-04-06 16:25:10.000000000 +0200
+++ stunnel-5.48/src/file.c	2018-09-04 17:24:08.948928882 +0200
@@ -120,7 +120,7 @@ DISK_FILE *file_open(char *name, FILE_MO
         return NULL;
 
     /* setup df structure */
-    df=str_alloc(sizeof df);
+    df=str_alloc(sizeof *df);
     df->fd=fd;
     return df;
 }
diff -up stunnel-5.48/src/options.c.coverity stunnel-5.48/src/options.c
--- stunnel-5.48/src/options.c.coverity	2018-09-04 17:24:08.946928836 +0200
+++ stunnel-5.48/src/options.c	2018-09-04 18:47:03.135083884 +0200
@@ -515,8 +515,7 @@ NOEXPORT int options_include(char *direc
                 "%s/%s",
 #endif
                 directory, namelist[i]->d_name);
-            stat(name, &sb);
-            if(S_ISREG(sb.st_mode))
+            if(stat(name, &sb) == 0 && S_ISREG(sb.st_mode))
                 err=options_file(name, CONF_FILE, section);
             else
                 s_log(LOG_DEBUG, "\"%s\" is not a file", name);
@@ -3773,6 +3772,7 @@ NOEXPORT PSK_KEYS *psk_dup(PSK_KEYS *src
         else
             head=curr;
         tail=curr;
+        src=src->next;
     }
     return head;
 }
diff -up stunnel-5.48/src/str.c.coverity stunnel-5.48/src/str.c
--- stunnel-5.48/src/str.c.coverity	2018-07-02 23:30:10.000000000 +0200
+++ stunnel-5.48/src/str.c	2018-09-04 17:24:08.949928906 +0200
@@ -165,6 +165,7 @@ char *str_vprintf(const char *format, va
     for(;;) {
         va_copy(ap, start_ap);
         n=vsnprintf(p, size, format, ap);
+        va_end(ap);
         if(n>-1 && n<(int)size)
             return p;
         if(n>-1)                /* glibc 2.1 */
diff -up stunnel-5.48/src/stunnel.c.coverity stunnel-5.48/src/stunnel.c
--- stunnel-5.48/src/stunnel.c.coverity	2018-07-02 23:30:10.000000000 +0200
+++ stunnel-5.48/src/stunnel.c	2018-09-04 17:24:08.949928906 +0200
@@ -364,7 +364,6 @@ NOEXPORT int accept_connection(SERVICE_O
 #endif
     if(create_client(fd, s, alloc_client_session(opt, s, s))) {
         s_log(LOG_ERR, "Connection rejected: create_client failed");
-        closesocket(s);
 #ifndef USE_FORK
         service_free(opt);
 #endif