noip.c: Fix memset length error.
[preload-hacks] / noip.c
diff --git a/noip.c b/noip.c
index 9c5cd68..5ccc9e2 100644 (file)
--- a/noip.c
+++ b/noip.c
@@ -353,7 +353,7 @@ static void wildcard_address(int af, struct sockaddr *sa)
     } break;
     case AF_INET6: {
       struct sockaddr_in6 *sin6 = SIN6(sa);
-      memset(sin6, 0, sizeof(sin6));
+      memset(sin6, 0, sizeof(*sin6));
       sin6->sin6_family = AF_INET6;
       sin6->sin6_port = 0;
       sin6->sin6_addr = in6addr_any;
@@ -1436,13 +1436,13 @@ static void create_sockdir(void)
 {
   struct stat st;
 
-  if (stat(sockdir, &st)) {
+  if (lstat(sockdir, &st)) {
     if (errno == ENOENT) {
       if (mkdir(sockdir, 0700)) {
        perror("noip: creating socketdir");
        exit(127);
       }
-      if (!stat(sockdir, &st))
+      if (!lstat(sockdir, &st))
        goto check;
     }
     perror("noip: checking socketdir");