Don't try to mmap() empty ipsec.secret files
authorMartin Willi <martin@revosec.ch>
Tue, 19 Mar 2013 12:44:11 +0000 (13:44 +0100)
committerMartin Willi <martin@revosec.ch>
Tue, 19 Mar 2013 12:46:16 +0000 (13:46 +0100)
src/libcharon/plugins/stroke/stroke_cred.c

index c401bc6..e9da477 100644 (file)
@@ -991,6 +991,11 @@ static void load_secrets(private_stroke_cred_t *this, char *file, int level,
                close(fd);
                return;
        }
+       if (sb.st_size == 0)
+       {       /* skip empty files, as mmap() complains */
+               close(fd);
+               return;
+       }
        addr = mmap(NULL, sb.st_size, PROT_READ | PROT_WRITE, MAP_PRIVATE, fd, 0);
        if (addr == MAP_FAILED)
        {
@@ -1262,4 +1267,3 @@ stroke_cred_t *stroke_cred_create()
 
        return &this->public;
 }
-