Print this page
4307 Variable is used before it is initialized in kwarndtest.c
Reviewed by: Igor Kozhukhov <ikozhukhov@gmail.com>

Split Close
Expand all
Collapse all
          --- old/usr/src/cmd/krb5/kwarn/kwarndtest.c
          +++ new/usr/src/cmd/krb5/kwarn/kwarndtest.c
   1    1  /*
   2    2   * Copyright 1995-2002 Sun Microsystems, Inc.  All rights reserved.
   3    3   * Use is subject to license terms.
        4 + *
        5 + * Copyright 2013 Nexenta Systems. All rights reserved.
   4    6   */
   5    7  
   6      -#pragma ident   "%Z%%M% %I%     %E% SMI"
   7      -
   8    8  /*
   9    9   * Test client for kwarnd.  This program is not shipped on the binary
  10   10   * release. This code was taken and modified from gssdtest.c
  11   11   */
  12   12  
  13   13  #include <stdio.h>
  14   14  #include <strings.h>
  15   15  #include <ctype.h>
  16   16  #include <stdlib.h>
  17   17  #include "kwarnd.h"
↓ open down ↓ 70 lines elided ↑ open up ↑
  88   88  
  89   89          argv = 0;
  90   90  
  91   91          if (parse_input_line(buf, &argc, &argv) == 0) {
  92   92                  printf(gettext("\n"));
  93   93                  return (1);
  94   94          }
  95   95  
  96   96          if (argc == 0) {
  97   97                  usage();
  98      -                /*LINTED*/
  99      -                FREE(argv_array, (argc+1)*sizeof (char *));
       98 +                FREE(argv, (argc+1)*sizeof (char *));
 100   99                  return (0);
 101  100          }
 102  101  
 103  102          /*
 104  103           * remember argv_array address, which is memory calloc'd by
 105  104           * parse_input_line, so it can be free'd at the end of the loop.
 106  105           */
 107  106  
 108  107          argv_array = argv;
 109  108  
 110  109          cmd = argv[0];
 111  110  
 112  111          argc--;
 113  112          argv++;
 114  113  
 115  114          if (strcmp(cmd, "kwarn_add_warning") == 0 ||
 116  115              strcmp(cmd, "add") == 0) {
 117  116                  _kwarnd_add_warning(argc, argv);
 118  117          } else if (strcmp(cmd, "kwarn_del_warning") == 0 ||
 119      -                strcmp(cmd, "delete") == 0) {
      118 +            strcmp(cmd, "delete") == 0) {
 120  119                  _kwarnd_del_warning(argc, argv);
 121  120          } else if (strcmp(cmd, "exit") == 0) {
 122  121                  printf(gettext("\n"));
 123  122                  FREE(argv_array, (argc+2) * sizeof (char *));
 124  123                  return (1);
 125  124          } else
 126  125                  usage();
 127  126  
 128  127          /* free argv array */
 129  128  
↓ open down ↓ 22 lines elided ↑ open up ↑
 152  151  
 153  152          time(&now);
 154  153          exptime = atol(argv[1]);
 155  154          exptime = now + exptime;
 156  155  
 157  156          status = kwarn_add_warning(argv[0], exptime);
 158  157  
 159  158          if (status == 0) {
 160  159                  printf(gettext("\nadd of credential\n\n"));
 161  160                  printf(gettext("warning message successful for \"%s\"\n\n"),
 162      -                        argv[0]);
      161 +                    argv[0]);
 163  162          } else {
 164  163                  printf(gettext("server ret err (octal) %o (%s)\n"),
 165      -                        status, gettext("add warning error"));
      164 +                    status, gettext("add warning error"));
 166  165          }
 167  166  
 168  167          return;
 169  168  
 170  169  }
 171  170  
 172  171  static void
 173  172  _kwarnd_del_warning(int argc, char **argv)
 174  173  {
 175  174          OM_UINT32 status;
 176  175  
 177  176          if (argc != 1) {
 178  177                  usage();
 179  178                  return;
 180  179          }
 181  180  
 182  181          status = kwarn_del_warning(argv[0]);
 183  182  
 184  183          if (status == 0) {
 185  184                  printf(gettext("delete of principal warning message"
 186      -                                "for %s successful"),
 187      -                        argv[0]);
      185 +                    "for %s successful"),
      186 +                    argv[0]);
 188  187          } else {
 189  188                  printf(gettext("delete of principal %s unsuccessful\n\n"),
 190      -                        argv[0]);
      189 +                    argv[0]);
 191  190          }
 192  191  }
 193  192  
 194  193  static void
 195  194  instructs(void)
 196  195  {
 197  196          fprintf(stderr,
 198      -                gettext(
      197 +            gettext(
 199  198  "\nThis program will test kwarnd.  kwarnd must be running as root. Enter\n"
 200  199  "the desired command and the principal to be added/deleted. If adding a\n"
 201  200  "principal, also include the expiration time in seconds.\n"));
 202  201  }
 203  202  
 204  203  static void
 205  204  usage(void)
 206  205  {
 207  206          fprintf(stderr,
 208      -                gettext(
 209      -                "\nusage:\t[kwarn_add_warning | add] (principal) (exptime)\n"
 210      -                "\t[kwarn_del_warning | delete] (principal)\n"
 211      -                "\texit\n\n"));
      207 +            gettext(
      208 +            "\nusage:\t[kwarn_add_warning | add] (principal) (exptime)\n"
      209 +            "\t[kwarn_del_warning | delete] (principal)\n"
      210 +            "\texit\n\n"));
 212  211  }
 213  212  
 214  213  /* Copied from parse_argv(), then modified */
 215  214  
 216  215  static int
 217  216  parse_input_line(char *input_line, int *argc, char ***argv)
 218  217  {
 219  218          const char nil = '\0';
 220  219          char *chptr;
 221  220          int chr_cnt;
↓ open down ↓ 40 lines elided ↑ open up ↑
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX