commit-inetutils
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[SCM] GNU Inetutils branch, master, updated. inetutils-1_6-89-gb033f20


From: Alfred M. Szmidt
Subject: [SCM] GNU Inetutils branch, master, updated. inetutils-1_6-89-gb033f20
Date: Sat, 14 Nov 2009 14:28:26 +0000

This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "GNU Inetutils ".

The branch, master has been updated
       via  b033f20780fde4507c77a9c4ac6c23c780cc3609 (commit)
       via  e6a7989e35d591be6eca0f73cdc66bdda6724dc4 (commit)
      from  e76fbeb29040682fafd5877ee739099c2b3f975f (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://git.savannah.gnu.org/cgit/inetutils.git/commit/?id=b033f20780fde4507c77a9c4ac6c23c780cc3609


commit b033f20780fde4507c77a9c4ac6c23c780cc3609
Author: Alfred M. Szmidt <address@hidden>
Date:   Sat Nov 14 15:34:06 2009 +0100

    Fix syntax-check sc_avoid_if_before_free.

diff --git a/ChangeLog b/ChangeLog
index 9e4e990..09d4b0e 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,28 @@
 2009-11-14  Alfred M. Szmidt  <address@hidden>
 
+       * ftp/cmds.c (ls, setnmap): Fix syntax-check
+       sc_avoid_if_before_free.
+
+       * ftp/ftp.c (login, recvrequest, pswitch, gunique): Likewise.
+       * ftp/ruserpass.c (ruserpass): Likewise.
+       * ftpd/auth.c (auth_user, sgetcred): Likewise.
+       * ftpd/ftpcmd.y (cmd_list, cmd, rcmd): Likewise.
+       * ftpd/ftpd.c (curdir, end_login, dolog, send_file_list): Likewise.
+       * ftpd/pam.c (pam_user): Likewise.
+       * ifconfig/if_index.c (if_freenameindex): Likewise.
+       * inetd/inetd.c (freeconfig, getconfigent): Likewise.
+       * libinetutils/argcv.c (int argcv_free): Likewise.
+       * libls/fts.c (fts_close, fts_build): Likewise.
+       * libtelnet/kerberos5.c (kerberos5_is_auth): Likewise.
+       * libtelnet/misc.c (auth_encrypt_init, auth_encrypt_user): Likewise.
+       * syslogd/syslogd.c (main, logmsg): Likewise.
+       * telnet/commands.c (env_define, env_undefine, tn): Likewise.
+       * telnetd/state.c (suboption): Likewise.
+       * telnetd/utility.c (getterminaltype): Likewise.
+       * tftpd/tftpd.c (validate_access): Likewise.
+
+2009-11-14  Alfred M. Szmidt  <address@hidden>
+
        * doc/inetutils.texi: Don't split copyright year list.
 
 2009-11-14  Simon Josefsson  <address@hidden>
diff --git a/ftp/cmds.c b/ftp/cmds.c
index 172fa5d..c797959 100644
--- a/ftp/cmds.c
+++ b/ftp/cmds.c
@@ -1510,8 +1510,7 @@ ls (argc, argv)
 
   recvrequest (cmd, dest ? dest : "-", argv[1], "w", 0);
 out:
-  if (dest)
-    free (dest);
+  free (dest);
 }
 
 /*
@@ -2233,14 +2232,12 @@ setnmap (argc, argv)
     }
   *cp = '\0';
 
-  if (mapin)
-    free (mapin);
+  free (mapin);
   mapin = strdup (altarg);
 
   while (*++cp == ' ')
     continue;
-  if (mapout)
-    free (mapout);
+  free (mapout);
   mapout = strdup (cp);
 }
 
diff --git a/ftp/ftp.c b/ftp/ftp.c
index 2decbf7..dd47cf9 100644
--- a/ftp/ftp.c
+++ b/ftp/ftp.c
@@ -326,8 +326,7 @@ login (host)
     {
       if (!strcmp ("init", macros[n].mac_name))
        {
-         if (line)
-           free (line);
+         free (line);
          line = calloc (200, sizeof (*line));
          if (!line)
            quit (0, 0);
@@ -964,8 +963,7 @@ recvrequest (cmd, local, remote, lmode, printnames)
   blksize = BUFSIZ;
   if (blksize > bufsize)
     {
-      if (buf)
-       free (buf);
+      free (buf);
       buf = malloc ((unsigned) blksize);
       if (buf == NULL)
        {
@@ -1420,8 +1418,7 @@ pswitch (flag)
   ip->connect = connected;
   connected = op->connect;
 
-  if (ip->name)
-    free (ip->name);
+  free (ip->name);
   ip->name = hostname;
   hostname = op->name;
   op->name = 0;
@@ -1457,14 +1454,12 @@ pswitch (flag)
   ip->mapflg = mapflag;
   mapflag = op->mapflg;
 
-  if (ip->mi)
-    free (ip->mi);
+  free (ip->mi);
   ip->mi = mapin;
   mapin = op->mi;
   op->mi = 0;
 
-  if (ip->mo)
-    free (ip->mo);
+  free (ip->mo);
   ip->mo = mapout;
   mapout = op->mo;
   op->mo = 0;
@@ -1655,8 +1650,7 @@ gunique (local)
   int count = 0;
   char ext = '1';
 
-  if (new)
-    free (new);
+  free (new);
   new = malloc (strlen (local) + 1 + 3 + 1);   /* '.' + 100 + '\0' */
   if (!new)
     {
diff --git a/ftp/ruserpass.c b/ftp/ruserpass.c
index 3eb3dc1..f3b4fcf 100644
--- a/ftp/ruserpass.c
+++ b/ftp/ruserpass.c
@@ -142,7 +142,7 @@ ruserpass (char *host, char **aname, char **apass, char 
**aacct)
   mydomain = strchr (myname, '.');
   if (mydomain == NULL)
     mydomain = xstrdup ("");
-next:
+ next:
   while ((t = token ()))
     switch (t)
       {
@@ -304,13 +304,11 @@ next:
       }
 done:
   fclose (cfile);
-  if (myname)
-    free (myname);
+  free (myname);
   return (0);
 bad:
   fclose (cfile);
-  if (myname)
-    free (myname);
+  free (myname);
   return (-1);
 }
 
diff --git a/ftpd/auth.c b/ftpd/auth.c
index cddcdfb..3c612f6 100644
--- a/ftpd/auth.c
+++ b/ftpd/auth.c
@@ -81,8 +81,7 @@ auth_user (const char *name, struct credentials *pcred)
     default:
       {
        size_t len;
-       if (pcred->message)
-         free (pcred->message);
+       free (pcred->message);
        len = (size_t) (64 + strlen (name));
        pcred->message = malloc (len);
        if (pcred->message == NULL)
@@ -194,16 +193,11 @@ sgetcred (const char *name, struct credentials *pcred)
   if (p == NULL)
     return 1;
 
-  if (pcred->name)
-    free (pcred->name);
-  if (pcred->passwd)
-    free (pcred->passwd);
-  if (pcred->homedir)
-    free (pcred->homedir);
-  if (pcred->rootdir)
-    free (pcred->rootdir);
-  if (pcred->shell)
-    free (pcred->shell);
+  free (pcred->name);
+  free (pcred->passwd);
+  free (pcred->homedir);
+  free (pcred->rootdir);
+  free (pcred->shell);
 
 #if defined(HAVE_GETSPNAM) && defined(HAVE_SHADOW_H)
   if (p->pw_passwd == NULL || strlen (p->pw_passwd) == 1)
diff --git a/ftpd/ftpcmd.y b/ftpd/ftpcmd.y
index da2123e..e52ff61 100644
--- a/ftpd/ftpcmd.y
+++ b/ftpd/ftpcmd.y
@@ -146,8 +146,7 @@ cmd_list
        : /* empty */
        | cmd_list cmd
                {
-                       if (fromname != NULL)
-                               free (fromname);
+                       free (fromname);
                        fromname = (char *) 0;
                        restart_point = (off_t) 0;
                }
@@ -264,22 +263,19 @@ cmd
                {
                        if ($2 && $4 != NULL)
                                retrieve((char *) 0, $4);
-                       if ($4 != NULL)
-                               free($4);
+                       free($4);
                }
        | STOR check_login SP pathname CRLF
                {
                        if ($2 && $4 != NULL)
                                store($4, "w", 0);
-                       if ($4 != NULL)
-                               free($4);
+                       free($4);
                }
        | APPE check_login SP pathname CRLF
                {
                        if ($2 && $4 != NULL)
                                store($4, "a", 0);
-                       if ($4 != NULL)
-                               free($4);
+                       free($4);
                }
        | NLST check_login CRLF
                {
@@ -290,8 +286,7 @@ cmd
                {
                        if ($2 && $4 != NULL)
                                send_file_list($4);
-                       if ($4 != NULL)
-                               free($4);
+                       free($4);
                }
        | LIST check_login CRLF
                {
@@ -302,15 +297,13 @@ cmd
                {
                        if ($2 && $4 != NULL)
                                retrieve("/bin/ls -lgA %s", $4);
-                       if ($4 != NULL)
-                               free($4);
+                       free($4);
                }
        | STAT check_login SP pathname CRLF
                {
                        if ($2 && $4 != NULL)
                                statfilecmd($4);
-                       if ($4 != NULL)
-                               free($4);
+                       free($4);
                }
        | STAT CRLF
                {
@@ -320,8 +313,7 @@ cmd
                {
                        if ($2 && $4 != NULL)
                                delete($4);
-                       if ($4 != NULL)
-                               free($4);
+                       free($4);
                }
        | RNTO check_login SP pathname CRLF
                {
@@ -349,8 +341,7 @@ cmd
                {
                        if ($2 && $4 != NULL)
                                cwd($4);
-                       if ($4 != NULL)
-                               free($4);
+                       free($4);
                }
        | HELP CRLF
                {
@@ -370,8 +361,7 @@ cmd
                                        help(sitetab, (char *) 0);
                        } else
                                help(cmdtab, $3);
-                       if ($3 != NULL)
-                           free ($3);
+                   free ($3);
                }
        | NOOP CRLF
                {
@@ -381,15 +371,13 @@ cmd
                {
                        if ($2 && $4 != NULL)
                                makedir($4);
-                       if ($4 != NULL)
-                               free($4);
+                       free($4);
                }
        | RMD check_login SP pathname CRLF
                {
                        if ($2 && $4 != NULL)
                                removedir($4);
-                       if ($4 != NULL)
-                               free($4);
+                       free($4);
                }
        | PWD check_login CRLF
                {
@@ -408,8 +396,7 @@ cmd
        | SITE SP HELP SP STRING CRLF
                {
                        help(sitetab, $5);
-                       if ($5 != NULL)
-                           free ($5);
+                       free ($5);
                }
        | SITE SP UMASK check_login CRLF
                {
@@ -447,8 +434,7 @@ cmd
                                else
                                        reply(200, "CHMOD command successful.");
                        }
-                       if ($8 != NULL)
-                               free($8);
+                       free($8);
                }
        | SITE SP IDLE CRLF
                {
@@ -476,8 +462,7 @@ cmd
                {
                        if ($2 && $4 != NULL)
                                store($4, "w", 1);
-                       if ($4 != NULL)
-                               free($4);
+                       free($4);
                }
        | SYST CRLF
                {
@@ -513,8 +498,7 @@ cmd
                                reply(215, "%s Type: L%d", sys_type, NBBY);
 
 #ifdef HAVE_UNAME
-                       if (version)
-                               free (version);
+                       free (version);
 #endif
                }
 
@@ -529,8 +513,7 @@ cmd
                {
                        if ($2 && $4 != NULL)
                                sizecmd($4);
-                       if ($4 != NULL)
-                               free($4);
+                       free($4);
                }
 
                /*
@@ -561,8 +544,7 @@ cmd
                                            t->tm_sec);
                                }
                        }
-                       if ($4 != NULL)
-                               free($4);
+                       free($4);
                }
        | QUIT CRLF
                {
@@ -579,8 +561,7 @@ rcmd
                {
                        restart_point = (off_t) 0;
                        if ($2 && $4) {
-                           if (fromname != NULL)
-                               free (fromname);
+                           free (fromname);
                            fromname = renamefrom($4);
                        }
                        if (fromname == (char *) 0 && $4)
@@ -588,8 +569,7 @@ rcmd
                }
        | REST SP byte_size CRLF
                {
-                       if (fromname != NULL)
-                               free (fromname);
+                       free (fromname);
                        fromname = (char *) 0;
                        restart_point = $3;     /* XXX $3 is only "int" */
                        reply(350,
diff --git a/ftpd/ftpd.c b/ftpd/ftpd.c
index 756a118..d114d18 100644
--- a/ftpd/ftpd.c
+++ b/ftpd/ftpd.c
@@ -556,8 +556,7 @@ curdir (void)
 {
   static char *path = 0;
   extern char *xgetcwd (void);
-  if (path)
-    free (path);
+  free (path);
   path = xgetcwd ();
   if (!path)
     return (char *) "";
@@ -780,26 +779,21 @@ end_login (struct credentials *pcred)
   if (pcred->logged_in)
     logwtmp_keep_open (ttyline, "", "");
 
-  if (pcred->name)
-    free (pcred->name);
+  free (pcred->name);
   if (pcred->passwd)
     {
       memset (pcred->passwd, 0, strlen (pcred->passwd));
       free (pcred->passwd);
     }
-  if (pcred->homedir)
-    free (pcred->homedir);
-  if (pcred->rootdir)
-    free (pcred->rootdir);
-  if (pcred->shell)
-    free (pcred->shell);
+  free (pcred->homedir);
+  free (pcred->rootdir);
+  free (pcred->shell);
   if (pcred->pass)             /* ??? */
     {
       memset (pcred->pass, 0, strlen (pcred->pass));
       free (pcred->pass);
     }
-  if (pcred->message)
-    free (pcred->message);
+  free (pcred->message);
   memset (pcred, 0, sizeof (*pcred));
   pcred->remotehost = remotehost;
   pcred->auth_type = atype;
@@ -1666,8 +1660,7 @@ dolog (struct sockaddr_in *sin, struct credentials *pcred)
   else
     name = inet_ntoa (sin->sin_addr);
 
-  if (pcred->remotehost)
-    free (pcred->remotehost);
+  free (pcred->remotehost);
   pcred->remotehost = sgetsave (name);
 
 #ifdef HAVE_SETPROCTITLE
@@ -1799,9 +1792,7 @@ gunique (const char *local)
   if (cp)
     *cp = '/';
 
-  if (string)
-    free (string);
-
+  free (string);
   string = malloc (strlen (local) + 5);        /* '.' + DIG + DIG + '\0' */
   if (string)
     {
@@ -1979,8 +1970,7 @@ send_file_list (const char *whichf)
   data = -1;
   pdata = -1;
 out:
-  if (p)
-    free (p);
+  free (p);
   if (freeglob)
     {
       freeglob = 0;
diff --git a/ftpd/pam.c b/ftpd/pam.c
index df80df0..ae0a2a8 100644
--- a/ftpd/pam.c
+++ b/ftpd/pam.c
@@ -214,11 +214,9 @@ pam_user (const char *username, struct credentials *pcred)
       pamh = 0;
     }
 
-  if (pcred->name)
-    free (pcred->name);
+  free (pcred->name);
   pcred->name = strdup (username);
-  if (pcred->message)
-    free (pcred->message);
+  free (pcred->message);
   pcred->message = NULL;
 
   error = pam_start ("ftp", pcred->name, &PAM_conversation, &pamh);
diff --git a/ifconfig/if_index.c b/ifconfig/if_index.c
index ac02e4b..bb5c2b5 100644
--- a/ifconfig/if_index.c
+++ b/ifconfig/if_index.c
@@ -87,8 +87,7 @@ if_freenameindex (struct if_nameindex *ifn)
     return;
   while (ptr->if_name || ptr->if_index)
     {
-      if (ptr->if_name)
-       free (ptr->if_name);
+      free (ptr->if_name);
       ++ptr;
     }
   free (ifn);
diff --git a/inetd/inetd.c b/inetd/inetd.c
index 0b6d6d9..f2c1e3b 100644
--- a/inetd/inetd.c
+++ b/inetd/inetd.c
@@ -964,16 +964,11 @@ endconfig (FILE *fconfig)
 void
 freeconfig (struct servtab *cp)
 {
-  if (cp->se_node)
-    free (cp->se_node);
-  if (cp->se_service)
-    free (cp->se_service);
-  if (cp->se_proto)
-    free (cp->se_proto);
-  if (cp->se_user)
-    free (cp->se_user);
-  if (cp->se_server)
-    free (cp->se_server);
+  free (cp->se_node);
+  free (cp->se_service);
+  free (cp->se_proto);
+  free (cp->se_user);
+  free (cp->se_server);
   argcv_free (cp->se_argc, cp->se_argv);
 }
 
@@ -1057,8 +1052,7 @@ getconfigent (FILE *fconfig, const char *file, size_t 
*line)
          if (argc == 1 && argv[0][strlen (argv[0]) - 1] == ':')
            {
              argv[0][strlen (argv[0]) - 1] = 0;
-             if (global_serv_node)
-               free (global_serv_node);
+             free (global_serv_node);
              if (strcmp (argv[0], "*"))
                global_serv_node = newstr (argv[0]);
            }
diff --git a/libinetutils/argcv.c b/libinetutils/argcv.c
index e84acd1..c96918a 100644
--- a/libinetutils/argcv.c
+++ b/libinetutils/argcv.c
@@ -125,8 +125,7 @@ int
 argcv_free (int argc, char **argv)
 {
   while (--argc >= 0)
-    if (argv[argc])
-      free (argv[argc]);
+    free (argv[argc]);
   free (argv);
   return 1;
 }
diff --git a/libls/fts.c b/libls/fts.c
index cf10252..7039937 100644
--- a/libls/fts.c
+++ b/libls/fts.c
@@ -272,8 +272,7 @@ fts_close (sp)
   /* Free up child linked list, sort array, path buffer. */
   if (sp->fts_child)
     fts_lfree (sp->fts_child);
-  if (sp->fts_array)
-    free (sp->fts_array);
+  free (sp->fts_array);
   free (sp->fts_path);
 
   /* Return to original directory, save errno if necessary. */
@@ -756,8 +755,7 @@ fts_build (sp, type)
               * structures already allocated.
               */
            mem1:saved_errno = errno;
-             if (p)
-               free (p);
+             free (p);
              fts_lfree (head);
              closedir (dirp);
              errno = saved_errno;
diff --git a/libtelnet/kerberos5.c b/libtelnet/kerberos5.c
index edc4bb2..e82ec72 100644
--- a/libtelnet/kerberos5.c
+++ b/libtelnet/kerberos5.c
@@ -588,8 +588,7 @@ kerberos5_is_auth (TN_Authenticator * ap, unsigned char 
*data, int cnt,
          name ? name : ""));
   auth_finished (ap, AUTH_USER);
 
-  if (name)
-    free (name);
+  free (name);
   krb5_auth_con_getremotesubkey (telnet_context, auth_context, &newkey);
 
   if (session_key)
@@ -836,8 +835,7 @@ kerberos5_forward (TN_Authenticator * ap)
     krb5_free_principal (telnet_context, client);
   if (server)
     krb5_free_principal (telnet_context, server);
-  if (forw_creds.data)
-    free (forw_creds.data);
+  free (forw_creds.data);
   krb5_cc_close (telnet_context, ccache);
 }
 # endif
diff --git a/libtelnet/misc.c b/libtelnet/misc.c
index 92b436c..61098f6 100644
--- a/libtelnet/misc.c
+++ b/libtelnet/misc.c
@@ -73,11 +73,8 @@ auth_encrypt_init (char *local, char *remote, char *name, 
int server)
 #ifdef ENCRYPTION
   encrypt_init (name, server);
 #endif /* ENCRYPTION */
-  if (UserNameRequested)
-    {
-      free (UserNameRequested);
-      UserNameRequested = 0;
-    }
+  free (UserNameRequested);
+  UserNameRequested = 0;
 }
 
 void
@@ -85,8 +82,7 @@ auth_encrypt_user (char *name)
 {
   extern char *strdup (const char *);
 
-  if (UserNameRequested)
-    free (UserNameRequested);
+  free (UserNameRequested);
   UserNameRequested = name ? strdup (name) : 0;
 }
 
diff --git a/syslogd/syslogd.c b/syslogd/syslogd.c
index 9443846..2d4b531 100644
--- a/syslogd/syslogd.c
+++ b/syslogd/syslogd.c
@@ -491,8 +491,7 @@ main (int argc, char *argv[])
       if (host_ent)
        {
          /* Override what we had */
-         if (LocalHostName)
-           free (LocalHostName);
+         free (LocalHostName);
          LocalHostName = strdup (host_ent->h_name);
          p = strchr (LocalHostName, '.');
          if (p != NULL)
@@ -1103,8 +1102,7 @@ logmsg (int pri, const char *msg, const char *from, int 
flags)
            fprintlog (f, from, 0, (char *) NULL);
          f->f_repeatcount = 0;
          strncpy (f->f_lasttime, timestamp, sizeof (f->f_lasttime) - 1);
-         if (f->f_prevhost)
-           free (f->f_prevhost);
+         free (f->f_prevhost);
          f->f_prevhost = strdup (from);
          if (msglen < MAXSVLINE)
            {
diff --git a/telnet/commands.c b/telnet/commands.c
index e1491b4..a9bd98b 100644
--- a/telnet/commands.c
+++ b/telnet/commands.c
@@ -1923,10 +1923,8 @@ env_define (unsigned char *var, unsigned char *value)
 
   if (ep = env_find (var))
     {
-      if (ep->var)
-       free (ep->var);
-      if (ep->value)
-       free (ep->value);
+      free (ep->var);
+      free (ep->value);
     }
   else
     {
@@ -1954,10 +1952,8 @@ env_undefine (unsigned char *var)
       ep->prev->next = ep->next;
       if (ep->next)
        ep->next->prev = ep->prev;
-      if (ep->var)
-       free (ep->var);
-      if (ep->value)
-       free (ep->value);
+      free (ep->var);
+      free (ep->value);
       free (ep);
     }
 }
@@ -2552,8 +2548,7 @@ tn (int argc, char *argv[])
        telnetport = 0;
     }
 
-  if (hostname)
-    free (hostname);
+  free (hostname);
   hostname = malloc (strlen (hostp) + 1);
   if (hostname)
     strcpy (hostname, hostp);
diff --git a/telnetd/state.c b/telnetd/state.c
index 0e59456..c6ebb1b 100644
--- a/telnetd/state.c
+++ b/telnetd/state.c
@@ -1180,8 +1180,7 @@ suboption ()
        if (SB_EOF () || SB_GET () != TELQUAL_IS)
          return;               /* ??? XXX but, this is the most robust */
 
-       if (terminaltype)
-         free (terminaltype);
+       free (terminaltype);
 
        obstack_init (&stk);
        while (!SB_EOF ())
diff --git a/telnetd/utility.c b/telnetd/utility.c
index 58edcb6..800e104 100644
--- a/telnetd/utility.c
+++ b/telnetd/utility.c
@@ -760,14 +760,12 @@ getterminaltype (char *user_name)
        */
       if (his_state_is_will (TELOPT_TTYPE) && !terminaltypeok (terminaltype))
        {
-         if (first)
-           free (first);
+         free (first);
          first = xstrdup (terminaltype);
          for (;;)
            {
              /* Save the unknown name, and request the next name. */
-             if (last)
-               free (last);
+             free (last);
              last = xstrdup (terminaltype);
              _gettermname ();
              if (terminaltypeok (terminaltype))
@@ -796,10 +794,8 @@ getterminaltype (char *user_name)
                }
            }
        }
-      if (first)
-       free (first);
-      if (last)
-       free (last);
+      free (first);
+      free (last);
     }
   return retval;
 }
diff --git a/tftpd/tftpd.c b/tftpd/tftpd.c
index fdf1a23..dcec421 100644
--- a/tftpd/tftpd.c
+++ b/tftpd/tftpd.c
@@ -466,8 +466,7 @@ validate_access (char **filep, int mode)
       err = ENOTFOUND;
       for (dirp = dirs; dirp->name != NULL; dirp++)
        {
-         if (pathname)
-           free (pathname);
+         free (pathname);
          pathname = malloc (strlen (dirp->name) + 1 + strlen (filename) + 1);
          if (!pathname)
            return ENOMEM;

http://git.savannah.gnu.org/cgit/inetutils.git/commit/?id=e6a7989e35d591be6eca0f73cdc66bdda6724dc4


commit b033f20780fde4507c77a9c4ac6c23c780cc3609
Author: Alfred M. Szmidt <address@hidden>
Date:   Sat Nov 14 15:34:06 2009 +0100

    Fix syntax-check sc_avoid_if_before_free.

diff --git a/ChangeLog b/ChangeLog
index 9e4e990..09d4b0e 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,28 @@
 2009-11-14  Alfred M. Szmidt  <address@hidden>
 
+       * ftp/cmds.c (ls, setnmap): Fix syntax-check
+       sc_avoid_if_before_free.
+
+       * ftp/ftp.c (login, recvrequest, pswitch, gunique): Likewise.
+       * ftp/ruserpass.c (ruserpass): Likewise.
+       * ftpd/auth.c (auth_user, sgetcred): Likewise.
+       * ftpd/ftpcmd.y (cmd_list, cmd, rcmd): Likewise.
+       * ftpd/ftpd.c (curdir, end_login, dolog, send_file_list): Likewise.
+       * ftpd/pam.c (pam_user): Likewise.
+       * ifconfig/if_index.c (if_freenameindex): Likewise.
+       * inetd/inetd.c (freeconfig, getconfigent): Likewise.
+       * libinetutils/argcv.c (int argcv_free): Likewise.
+       * libls/fts.c (fts_close, fts_build): Likewise.
+       * libtelnet/kerberos5.c (kerberos5_is_auth): Likewise.
+       * libtelnet/misc.c (auth_encrypt_init, auth_encrypt_user): Likewise.
+       * syslogd/syslogd.c (main, logmsg): Likewise.
+       * telnet/commands.c (env_define, env_undefine, tn): Likewise.
+       * telnetd/state.c (suboption): Likewise.
+       * telnetd/utility.c (getterminaltype): Likewise.
+       * tftpd/tftpd.c (validate_access): Likewise.
+
+2009-11-14  Alfred M. Szmidt  <address@hidden>
+
        * doc/inetutils.texi: Don't split copyright year list.
 
 2009-11-14  Simon Josefsson  <address@hidden>
diff --git a/ftp/cmds.c b/ftp/cmds.c
index 172fa5d..c797959 100644
--- a/ftp/cmds.c
+++ b/ftp/cmds.c
@@ -1510,8 +1510,7 @@ ls (argc, argv)
 
   recvrequest (cmd, dest ? dest : "-", argv[1], "w", 0);
 out:
-  if (dest)
-    free (dest);
+  free (dest);
 }
 
 /*
@@ -2233,14 +2232,12 @@ setnmap (argc, argv)
     }
   *cp = '\0';
 
-  if (mapin)
-    free (mapin);
+  free (mapin);
   mapin = strdup (altarg);
 
   while (*++cp == ' ')
     continue;
-  if (mapout)
-    free (mapout);
+  free (mapout);
   mapout = strdup (cp);
 }
 
diff --git a/ftp/ftp.c b/ftp/ftp.c
index 2decbf7..dd47cf9 100644
--- a/ftp/ftp.c
+++ b/ftp/ftp.c
@@ -326,8 +326,7 @@ login (host)
     {
       if (!strcmp ("init", macros[n].mac_name))
        {
-         if (line)
-           free (line);
+         free (line);
          line = calloc (200, sizeof (*line));
          if (!line)
            quit (0, 0);
@@ -964,8 +963,7 @@ recvrequest (cmd, local, remote, lmode, printnames)
   blksize = BUFSIZ;
   if (blksize > bufsize)
     {
-      if (buf)
-       free (buf);
+      free (buf);
       buf = malloc ((unsigned) blksize);
       if (buf == NULL)
        {
@@ -1420,8 +1418,7 @@ pswitch (flag)
   ip->connect = connected;
   connected = op->connect;
 
-  if (ip->name)
-    free (ip->name);
+  free (ip->name);
   ip->name = hostname;
   hostname = op->name;
   op->name = 0;
@@ -1457,14 +1454,12 @@ pswitch (flag)
   ip->mapflg = mapflag;
   mapflag = op->mapflg;
 
-  if (ip->mi)
-    free (ip->mi);
+  free (ip->mi);
   ip->mi = mapin;
   mapin = op->mi;
   op->mi = 0;
 
-  if (ip->mo)
-    free (ip->mo);
+  free (ip->mo);
   ip->mo = mapout;
   mapout = op->mo;
   op->mo = 0;
@@ -1655,8 +1650,7 @@ gunique (local)
   int count = 0;
   char ext = '1';
 
-  if (new)
-    free (new);
+  free (new);
   new = malloc (strlen (local) + 1 + 3 + 1);   /* '.' + 100 + '\0' */
   if (!new)
     {
diff --git a/ftp/ruserpass.c b/ftp/ruserpass.c
index 3eb3dc1..f3b4fcf 100644
--- a/ftp/ruserpass.c
+++ b/ftp/ruserpass.c
@@ -142,7 +142,7 @@ ruserpass (char *host, char **aname, char **apass, char 
**aacct)
   mydomain = strchr (myname, '.');
   if (mydomain == NULL)
     mydomain = xstrdup ("");
-next:
+ next:
   while ((t = token ()))
     switch (t)
       {
@@ -304,13 +304,11 @@ next:
       }
 done:
   fclose (cfile);
-  if (myname)
-    free (myname);
+  free (myname);
   return (0);
 bad:
   fclose (cfile);
-  if (myname)
-    free (myname);
+  free (myname);
   return (-1);
 }
 
diff --git a/ftpd/auth.c b/ftpd/auth.c
index cddcdfb..3c612f6 100644
--- a/ftpd/auth.c
+++ b/ftpd/auth.c
@@ -81,8 +81,7 @@ auth_user (const char *name, struct credentials *pcred)
     default:
       {
        size_t len;
-       if (pcred->message)
-         free (pcred->message);
+       free (pcred->message);
        len = (size_t) (64 + strlen (name));
        pcred->message = malloc (len);
        if (pcred->message == NULL)
@@ -194,16 +193,11 @@ sgetcred (const char *name, struct credentials *pcred)
   if (p == NULL)
     return 1;
 
-  if (pcred->name)
-    free (pcred->name);
-  if (pcred->passwd)
-    free (pcred->passwd);
-  if (pcred->homedir)
-    free (pcred->homedir);
-  if (pcred->rootdir)
-    free (pcred->rootdir);
-  if (pcred->shell)
-    free (pcred->shell);
+  free (pcred->name);
+  free (pcred->passwd);
+  free (pcred->homedir);
+  free (pcred->rootdir);
+  free (pcred->shell);
 
 #if defined(HAVE_GETSPNAM) && defined(HAVE_SHADOW_H)
   if (p->pw_passwd == NULL || strlen (p->pw_passwd) == 1)
diff --git a/ftpd/ftpcmd.y b/ftpd/ftpcmd.y
index da2123e..e52ff61 100644
--- a/ftpd/ftpcmd.y
+++ b/ftpd/ftpcmd.y
@@ -146,8 +146,7 @@ cmd_list
        : /* empty */
        | cmd_list cmd
                {
-                       if (fromname != NULL)
-                               free (fromname);
+                       free (fromname);
                        fromname = (char *) 0;
                        restart_point = (off_t) 0;
                }
@@ -264,22 +263,19 @@ cmd
                {
                        if ($2 && $4 != NULL)
                                retrieve((char *) 0, $4);
-                       if ($4 != NULL)
-                               free($4);
+                       free($4);
                }
        | STOR check_login SP pathname CRLF
                {
                        if ($2 && $4 != NULL)
                                store($4, "w", 0);
-                       if ($4 != NULL)
-                               free($4);
+                       free($4);
                }
        | APPE check_login SP pathname CRLF
                {
                        if ($2 && $4 != NULL)
                                store($4, "a", 0);
-                       if ($4 != NULL)
-                               free($4);
+                       free($4);
                }
        | NLST check_login CRLF
                {
@@ -290,8 +286,7 @@ cmd
                {
                        if ($2 && $4 != NULL)
                                send_file_list($4);
-                       if ($4 != NULL)
-                               free($4);
+                       free($4);
                }
        | LIST check_login CRLF
                {
@@ -302,15 +297,13 @@ cmd
                {
                        if ($2 && $4 != NULL)
                                retrieve("/bin/ls -lgA %s", $4);
-                       if ($4 != NULL)
-                               free($4);
+                       free($4);
                }
        | STAT check_login SP pathname CRLF
                {
                        if ($2 && $4 != NULL)
                                statfilecmd($4);
-                       if ($4 != NULL)
-                               free($4);
+                       free($4);
                }
        | STAT CRLF
                {
@@ -320,8 +313,7 @@ cmd
                {
                        if ($2 && $4 != NULL)
                                delete($4);
-                       if ($4 != NULL)
-                               free($4);
+                       free($4);
                }
        | RNTO check_login SP pathname CRLF
                {
@@ -349,8 +341,7 @@ cmd
                {
                        if ($2 && $4 != NULL)
                                cwd($4);
-                       if ($4 != NULL)
-                               free($4);
+                       free($4);
                }
        | HELP CRLF
                {
@@ -370,8 +361,7 @@ cmd
                                        help(sitetab, (char *) 0);
                        } else
                                help(cmdtab, $3);
-                       if ($3 != NULL)
-                           free ($3);
+                   free ($3);
                }
        | NOOP CRLF
                {
@@ -381,15 +371,13 @@ cmd
                {
                        if ($2 && $4 != NULL)
                                makedir($4);
-                       if ($4 != NULL)
-                               free($4);
+                       free($4);
                }
        | RMD check_login SP pathname CRLF
                {
                        if ($2 && $4 != NULL)
                                removedir($4);
-                       if ($4 != NULL)
-                               free($4);
+                       free($4);
                }
        | PWD check_login CRLF
                {
@@ -408,8 +396,7 @@ cmd
        | SITE SP HELP SP STRING CRLF
                {
                        help(sitetab, $5);
-                       if ($5 != NULL)
-                           free ($5);
+                       free ($5);
                }
        | SITE SP UMASK check_login CRLF
                {
@@ -447,8 +434,7 @@ cmd
                                else
                                        reply(200, "CHMOD command successful.");
                        }
-                       if ($8 != NULL)
-                               free($8);
+                       free($8);
                }
        | SITE SP IDLE CRLF
                {
@@ -476,8 +462,7 @@ cmd
                {
                        if ($2 && $4 != NULL)
                                store($4, "w", 1);
-                       if ($4 != NULL)
-                               free($4);
+                       free($4);
                }
        | SYST CRLF
                {
@@ -513,8 +498,7 @@ cmd
                                reply(215, "%s Type: L%d", sys_type, NBBY);
 
 #ifdef HAVE_UNAME
-                       if (version)
-                               free (version);
+                       free (version);
 #endif
                }
 
@@ -529,8 +513,7 @@ cmd
                {
                        if ($2 && $4 != NULL)
                                sizecmd($4);
-                       if ($4 != NULL)
-                               free($4);
+                       free($4);
                }
 
                /*
@@ -561,8 +544,7 @@ cmd
                                            t->tm_sec);
                                }
                        }
-                       if ($4 != NULL)
-                               free($4);
+                       free($4);
                }
        | QUIT CRLF
                {
@@ -579,8 +561,7 @@ rcmd
                {
                        restart_point = (off_t) 0;
                        if ($2 && $4) {
-                           if (fromname != NULL)
-                               free (fromname);
+                           free (fromname);
                            fromname = renamefrom($4);
                        }
                        if (fromname == (char *) 0 && $4)
@@ -588,8 +569,7 @@ rcmd
                }
        | REST SP byte_size CRLF
                {
-                       if (fromname != NULL)
-                               free (fromname);
+                       free (fromname);
                        fromname = (char *) 0;
                        restart_point = $3;     /* XXX $3 is only "int" */
                        reply(350,
diff --git a/ftpd/ftpd.c b/ftpd/ftpd.c
index 756a118..d114d18 100644
--- a/ftpd/ftpd.c
+++ b/ftpd/ftpd.c
@@ -556,8 +556,7 @@ curdir (void)
 {
   static char *path = 0;
   extern char *xgetcwd (void);
-  if (path)
-    free (path);
+  free (path);
   path = xgetcwd ();
   if (!path)
     return (char *) "";
@@ -780,26 +779,21 @@ end_login (struct credentials *pcred)
   if (pcred->logged_in)
     logwtmp_keep_open (ttyline, "", "");
 
-  if (pcred->name)
-    free (pcred->name);
+  free (pcred->name);
   if (pcred->passwd)
     {
       memset (pcred->passwd, 0, strlen (pcred->passwd));
       free (pcred->passwd);
     }
-  if (pcred->homedir)
-    free (pcred->homedir);
-  if (pcred->rootdir)
-    free (pcred->rootdir);
-  if (pcred->shell)
-    free (pcred->shell);
+  free (pcred->homedir);
+  free (pcred->rootdir);
+  free (pcred->shell);
   if (pcred->pass)             /* ??? */
     {
       memset (pcred->pass, 0, strlen (pcred->pass));
       free (pcred->pass);
     }
-  if (pcred->message)
-    free (pcred->message);
+  free (pcred->message);
   memset (pcred, 0, sizeof (*pcred));
   pcred->remotehost = remotehost;
   pcred->auth_type = atype;
@@ -1666,8 +1660,7 @@ dolog (struct sockaddr_in *sin, struct credentials *pcred)
   else
     name = inet_ntoa (sin->sin_addr);
 
-  if (pcred->remotehost)
-    free (pcred->remotehost);
+  free (pcred->remotehost);
   pcred->remotehost = sgetsave (name);
 
 #ifdef HAVE_SETPROCTITLE
@@ -1799,9 +1792,7 @@ gunique (const char *local)
   if (cp)
     *cp = '/';
 
-  if (string)
-    free (string);
-
+  free (string);
   string = malloc (strlen (local) + 5);        /* '.' + DIG + DIG + '\0' */
   if (string)
     {
@@ -1979,8 +1970,7 @@ send_file_list (const char *whichf)
   data = -1;
   pdata = -1;
 out:
-  if (p)
-    free (p);
+  free (p);
   if (freeglob)
     {
       freeglob = 0;
diff --git a/ftpd/pam.c b/ftpd/pam.c
index df80df0..ae0a2a8 100644
--- a/ftpd/pam.c
+++ b/ftpd/pam.c
@@ -214,11 +214,9 @@ pam_user (const char *username, struct credentials *pcred)
       pamh = 0;
     }
 
-  if (pcred->name)
-    free (pcred->name);
+  free (pcred->name);
   pcred->name = strdup (username);
-  if (pcred->message)
-    free (pcred->message);
+  free (pcred->message);
   pcred->message = NULL;
 
   error = pam_start ("ftp", pcred->name, &PAM_conversation, &pamh);
diff --git a/ifconfig/if_index.c b/ifconfig/if_index.c
index ac02e4b..bb5c2b5 100644
--- a/ifconfig/if_index.c
+++ b/ifconfig/if_index.c
@@ -87,8 +87,7 @@ if_freenameindex (struct if_nameindex *ifn)
     return;
   while (ptr->if_name || ptr->if_index)
     {
-      if (ptr->if_name)
-       free (ptr->if_name);
+      free (ptr->if_name);
       ++ptr;
     }
   free (ifn);
diff --git a/inetd/inetd.c b/inetd/inetd.c
index 0b6d6d9..f2c1e3b 100644
--- a/inetd/inetd.c
+++ b/inetd/inetd.c
@@ -964,16 +964,11 @@ endconfig (FILE *fconfig)
 void
 freeconfig (struct servtab *cp)
 {
-  if (cp->se_node)
-    free (cp->se_node);
-  if (cp->se_service)
-    free (cp->se_service);
-  if (cp->se_proto)
-    free (cp->se_proto);
-  if (cp->se_user)
-    free (cp->se_user);
-  if (cp->se_server)
-    free (cp->se_server);
+  free (cp->se_node);
+  free (cp->se_service);
+  free (cp->se_proto);
+  free (cp->se_user);
+  free (cp->se_server);
   argcv_free (cp->se_argc, cp->se_argv);
 }
 
@@ -1057,8 +1052,7 @@ getconfigent (FILE *fconfig, const char *file, size_t 
*line)
          if (argc == 1 && argv[0][strlen (argv[0]) - 1] == ':')
            {
              argv[0][strlen (argv[0]) - 1] = 0;
-             if (global_serv_node)
-               free (global_serv_node);
+             free (global_serv_node);
              if (strcmp (argv[0], "*"))
                global_serv_node = newstr (argv[0]);
            }
diff --git a/libinetutils/argcv.c b/libinetutils/argcv.c
index e84acd1..c96918a 100644
--- a/libinetutils/argcv.c
+++ b/libinetutils/argcv.c
@@ -125,8 +125,7 @@ int
 argcv_free (int argc, char **argv)
 {
   while (--argc >= 0)
-    if (argv[argc])
-      free (argv[argc]);
+    free (argv[argc]);
   free (argv);
   return 1;
 }
diff --git a/libls/fts.c b/libls/fts.c
index cf10252..7039937 100644
--- a/libls/fts.c
+++ b/libls/fts.c
@@ -272,8 +272,7 @@ fts_close (sp)
   /* Free up child linked list, sort array, path buffer. */
   if (sp->fts_child)
     fts_lfree (sp->fts_child);
-  if (sp->fts_array)
-    free (sp->fts_array);
+  free (sp->fts_array);
   free (sp->fts_path);
 
   /* Return to original directory, save errno if necessary. */
@@ -756,8 +755,7 @@ fts_build (sp, type)
               * structures already allocated.
               */
            mem1:saved_errno = errno;
-             if (p)
-               free (p);
+             free (p);
              fts_lfree (head);
              closedir (dirp);
              errno = saved_errno;
diff --git a/libtelnet/kerberos5.c b/libtelnet/kerberos5.c
index edc4bb2..e82ec72 100644
--- a/libtelnet/kerberos5.c
+++ b/libtelnet/kerberos5.c
@@ -588,8 +588,7 @@ kerberos5_is_auth (TN_Authenticator * ap, unsigned char 
*data, int cnt,
          name ? name : ""));
   auth_finished (ap, AUTH_USER);
 
-  if (name)
-    free (name);
+  free (name);
   krb5_auth_con_getremotesubkey (telnet_context, auth_context, &newkey);
 
   if (session_key)
@@ -836,8 +835,7 @@ kerberos5_forward (TN_Authenticator * ap)
     krb5_free_principal (telnet_context, client);
   if (server)
     krb5_free_principal (telnet_context, server);
-  if (forw_creds.data)
-    free (forw_creds.data);
+  free (forw_creds.data);
   krb5_cc_close (telnet_context, ccache);
 }
 # endif
diff --git a/libtelnet/misc.c b/libtelnet/misc.c
index 92b436c..61098f6 100644
--- a/libtelnet/misc.c
+++ b/libtelnet/misc.c
@@ -73,11 +73,8 @@ auth_encrypt_init (char *local, char *remote, char *name, 
int server)
 #ifdef ENCRYPTION
   encrypt_init (name, server);
 #endif /* ENCRYPTION */
-  if (UserNameRequested)
-    {
-      free (UserNameRequested);
-      UserNameRequested = 0;
-    }
+  free (UserNameRequested);
+  UserNameRequested = 0;
 }
 
 void
@@ -85,8 +82,7 @@ auth_encrypt_user (char *name)
 {
   extern char *strdup (const char *);
 
-  if (UserNameRequested)
-    free (UserNameRequested);
+  free (UserNameRequested);
   UserNameRequested = name ? strdup (name) : 0;
 }
 
diff --git a/syslogd/syslogd.c b/syslogd/syslogd.c
index 9443846..2d4b531 100644
--- a/syslogd/syslogd.c
+++ b/syslogd/syslogd.c
@@ -491,8 +491,7 @@ main (int argc, char *argv[])
       if (host_ent)
        {
          /* Override what we had */
-         if (LocalHostName)
-           free (LocalHostName);
+         free (LocalHostName);
          LocalHostName = strdup (host_ent->h_name);
          p = strchr (LocalHostName, '.');
          if (p != NULL)
@@ -1103,8 +1102,7 @@ logmsg (int pri, const char *msg, const char *from, int 
flags)
            fprintlog (f, from, 0, (char *) NULL);
          f->f_repeatcount = 0;
          strncpy (f->f_lasttime, timestamp, sizeof (f->f_lasttime) - 1);
-         if (f->f_prevhost)
-           free (f->f_prevhost);
+         free (f->f_prevhost);
          f->f_prevhost = strdup (from);
          if (msglen < MAXSVLINE)
            {
diff --git a/telnet/commands.c b/telnet/commands.c
index e1491b4..a9bd98b 100644
--- a/telnet/commands.c
+++ b/telnet/commands.c
@@ -1923,10 +1923,8 @@ env_define (unsigned char *var, unsigned char *value)
 
   if (ep = env_find (var))
     {
-      if (ep->var)
-       free (ep->var);
-      if (ep->value)
-       free (ep->value);
+      free (ep->var);
+      free (ep->value);
     }
   else
     {
@@ -1954,10 +1952,8 @@ env_undefine (unsigned char *var)
       ep->prev->next = ep->next;
       if (ep->next)
        ep->next->prev = ep->prev;
-      if (ep->var)
-       free (ep->var);
-      if (ep->value)
-       free (ep->value);
+      free (ep->var);
+      free (ep->value);
       free (ep);
     }
 }
@@ -2552,8 +2548,7 @@ tn (int argc, char *argv[])
        telnetport = 0;
     }
 
-  if (hostname)
-    free (hostname);
+  free (hostname);
   hostname = malloc (strlen (hostp) + 1);
   if (hostname)
     strcpy (hostname, hostp);
diff --git a/telnetd/state.c b/telnetd/state.c
index 0e59456..c6ebb1b 100644
--- a/telnetd/state.c
+++ b/telnetd/state.c
@@ -1180,8 +1180,7 @@ suboption ()
        if (SB_EOF () || SB_GET () != TELQUAL_IS)
          return;               /* ??? XXX but, this is the most robust */
 
-       if (terminaltype)
-         free (terminaltype);
+       free (terminaltype);
 
        obstack_init (&stk);
        while (!SB_EOF ())
diff --git a/telnetd/utility.c b/telnetd/utility.c
index 58edcb6..800e104 100644
--- a/telnetd/utility.c
+++ b/telnetd/utility.c
@@ -760,14 +760,12 @@ getterminaltype (char *user_name)
        */
       if (his_state_is_will (TELOPT_TTYPE) && !terminaltypeok (terminaltype))
        {
-         if (first)
-           free (first);
+         free (first);
          first = xstrdup (terminaltype);
          for (;;)
            {
              /* Save the unknown name, and request the next name. */
-             if (last)
-               free (last);
+             free (last);
              last = xstrdup (terminaltype);
              _gettermname ();
              if (terminaltypeok (terminaltype))
@@ -796,10 +794,8 @@ getterminaltype (char *user_name)
                }
            }
        }
-      if (first)
-       free (first);
-      if (last)
-       free (last);
+      free (first);
+      free (last);
     }
   return retval;
 }
diff --git a/tftpd/tftpd.c b/tftpd/tftpd.c
index fdf1a23..dcec421 100644
--- a/tftpd/tftpd.c
+++ b/tftpd/tftpd.c
@@ -466,8 +466,7 @@ validate_access (char **filep, int mode)
       err = ENOTFOUND;
       for (dirp = dirs; dirp->name != NULL; dirp++)
        {
-         if (pathname)
-           free (pathname);
+         free (pathname);
          pathname = malloc (strlen (dirp->name) + 1 + strlen (filename) + 1);
          if (!pathname)
            return ENOMEM;

-----------------------------------------------------------------------

Summary of changes:
 ChangeLog             |   27 ++++++++++++++++++++++
 doc/inetutils.texi    |    3 +-
 ftp/cmds.c            |    9 ++-----
 ftp/ftp.c             |   18 +++++---------
 ftp/ruserpass.c       |    8 ++----
 ftpd/auth.c           |   18 +++++---------
 ftpd/ftpcmd.y         |   60 ++++++++++++++++--------------------------------
 ftpd/ftpd.c           |   28 +++++++---------------
 ftpd/pam.c            |    6 +---
 ifconfig/if_index.c   |    3 +-
 inetd/inetd.c         |   18 +++++---------
 libinetutils/argcv.c  |    3 +-
 libls/fts.c           |    6 +---
 libtelnet/kerberos5.c |    6 +---
 libtelnet/misc.c      |   10 ++-----
 syslogd/syslogd.c     |    6 +---
 telnet/commands.c     |   15 ++++--------
 telnetd/state.c       |    3 +-
 telnetd/utility.c     |   12 +++------
 tftpd/tftpd.c         |    3 +-
 20 files changed, 105 insertions(+), 157 deletions(-)


hooks/post-receive
-- 
GNU Inetutils 




reply via email to

[Prev in Thread] Current Thread [Next in Thread]