Changeset 539


Ignore:
Timestamp:
Jan 7, 2019, 8:03:37 PM (6 years ago)
Author:
katerina
Message:

Fixes for tickets #431 (OpenBSD compatibility) and #432 (compiler warnings).

Location:
trunk
Files:
22 edited

Legend:

Unmodified
Added
Removed
  • trunk/configure.ac

    r538 r539  
    1212dnl start
    1313dnl
    14 AM_INIT_AUTOMAKE(samhain, 4.3.1)
     14AM_INIT_AUTOMAKE(samhain, 4.3.2)
    1515AC_DEFINE([SAMHAIN], 1, [Application is samhain])
    1616AC_CANONICAL_HOST
  • trunk/docs/Changelog

    r538 r539  
     14.3.2:
     2        * fix compile failure on OpenBSD (reported by Mithrond)
    13
    244.3.1:
  • trunk/src/cutest_sh_unix.c

    r481 r539  
    2121  char * area[256];
    2222
     23#if !defined(USE_SYSTEM_MALLOC) && !defined(__clang__)
    2324  /* test reuse of last freed chunk */
    2425  buf = malloc(1024);
     
    2829  CuAssertTrue(tc, buf == area[0]);
    2930  free(area[0]);
    30 
     31#endif
     32 
    3133  /* test realloc */
    3234  buf = malloc(16);
  • trunk/src/cutest_zAVLTree.c

    r481 r539  
    513513
    514514  zAVL_string_reset(ztest_tree);
     515  ztest_tree = NULL;
    515516  str = zAVL_string_get(ztest_tree, "foo");
    516517  CuAssertTrue(tc, str == NULL);
  • trunk/src/samhain.c

    r511 r539  
    348348  sh_global_check_silent = 0;
    349349  sh_load_delta_flag     = 0;
    350   strcpy ( sh_sig_msg, _("None"));
     350  sh_sig_msg[4] = '\0';
     351  sh_sig_msg[3] = 'e';
     352  sh_sig_msg[2] = 'n';
     353  sh_sig_msg[1] = 'o';
     354  sh_sig_msg[0] = 'N';
    351355
    352356#ifdef MKB_01
     
    877881  if (NULL == (dp = opendir(_("/proc"))))
    878882    {
     883      /* cppcheck-suppress resourceLeak */
    879884      return NULL;
    880885    }
  • trunk/src/sh_database.c

    r481 r539  
    14111411          /*@-type@*//* byte* versus char[..] */
    14121412          if (attr_tab[i].inHash == 1 &&
    1413               ((char *)(db_entry)+attr_tab[i].off) != '\0')
     1413              *((char *)(db_entry)+attr_tab[i].off) != '\0')
    14141414            {
    14151415              (void)md5Update(&crc,
  • trunk/src/sh_files.c

    r516 r539  
    20462046#endif
    20472047
     2048/* This is the LCG from Numerical Recipies. Deterministic.
     2049 */
     2050static unsigned int simple_rand(unsigned int * state)
     2051{
     2052  *state = 1664525 * (*state) + 1013904223;
     2053  return *state;
     2054}
     2055
    20482056void * sh_dummy_dirlist;
    20492057void * sh_dummy_tmpcat;
     
    22902298    BREAKEXIT(sh_derr);
    22912299
    2292 #if defined(HAVE_PTHREAD) && defined (_POSIX_THREAD_SAFE_FUNCTIONS) && defined(HAVE_RAND_R)
    2293     if (0 == (rand_r(&state) % 5)) (void) sh_derr();
    2294 #else
    2295     if (0 == state * (rand() % 5)) (void) sh_derr();
    2296 #endif
     2300    if (0 == (simple_rand(&state) % 5)) (void) sh_derr();
    22972301   
    22982302    /* ---- Check the file. ----
     
    26372641  BREAKEXIT(sh_derr);
    26382642
    2639 #if defined(HAVE_PTHREAD) && defined (_POSIX_THREAD_SAFE_FUNCTIONS) && defined(HAVE_RAND_R)
    2640   if (0 == (rand_r(&state) % 2)) (void) sh_derr();
    2641 #else
    2642   if (0 == state * (rand() % 2)) (void) sh_derr();
    2643 #endif
     2643  if (0 == (simple_rand(&state) % 2)) (void) sh_derr();
    26442644
    26452645  if (dirName && infileName && (dirName[0] == '/') && (dirName[1] == '\0')
  • trunk/src/sh_filetype.c

    r481 r539  
    597597      fprintf(stdout, "%s: %s\n", argv[1], filetype);
    598598
     599      fclose(fh);
     600     
    599601      return 0;
    600602    }
  • trunk/src/sh_getopt.c

    r485 r539  
    418418
    419419#ifdef HAVE_LIBPRELUDE
    420   if (num > 0) fputc ('\n', stdout); ++num;
    421   fputs (_(" prelude (0.9.6+)"), stdout);
     420  if (num > 0) fputc ('\n', stdout);
     421  fputs (_(" prelude (0.9.6+)"), stdout); ++num;
    422422#endif
    423423
     
    635635{
    636636  fprintf (stdout, "%s",
    637            _("Copyright (C) 1999-2008 Rainer Wichmann"\
     637           _("Copyright (C) 1999-2019 Rainer Wichmann"\
    638638             " (http://la-samhna.de).\n\n"));
    639639
  • trunk/src/sh_ipvx.c

    r526 r539  
    355355  char hostbuf[SH_BUFSIZE];
    356356
     357  SL_ENTER(_("sh_ipvx_canonical"));
     358 
    357359  numeric[0] = '\0';
    358360
     
    424426  struct sockaddr_in *sin;
    425427
     428  SL_ENTER(_("sh_ipvx_canonical"));
     429
    426430  numeric[0] = '\0';
    427431
     
    459463#endif
    460464
    461   if (flag)
    462     return out;
     465  if (flag) {
     466    SL_RETURN(out, _("sh_ipvx_canonical"));
     467  }
    463468 
    464469  if (out)
     
    466471  if (numeric[0] == '\0')
    467472    sl_strlcpy (numeric, _("0.0.0.0"), nlen);
    468   return NULL;
     473  SL_RETURN(NULL, _("sh_ipvx_canonical"));
    469474}
    470475
     
    505510  struct addrinfo *p;
    506511
     512  SL_ENTER(_("sh_ipvx_reverse_check_ok"));
     513
    507514  sl_snprintf(sport, sizeof(sport), "%d", port);
    508515
     
    513520  if (getaddrinfo(peer, sport, &hints, &res) != 0)
    514521    {
    515       return 0;
     522      SL_RETURN((0), _("sh_ipvx_reverse_check_ok"));
    516523    }
    517524 
     
    533540          if (0 == sl_strcmp(dst1, dst2))
    534541            {
    535               return 1;
     542              SL_RETURN((1), _("sh_ipvx_reverse_check_ok"));
    536543            }
    537544        }
     
    546553  (void) port;
    547554
     555  SL_ENTER(_("sh_ipvx_reverse_check_ok"));
     556
    548557  he = sh_gethostbyname(peer);
    549558  if (he != NULL)
     
    551560      for (p = he->h_addr_list; *p; ++p)
    552561        {
    553           if (0 == memcmp (*p, &(sin->sin_addr), sizeof(in_addr_t)) )
    554             return 1;
     562          if (0 == memcmp (*p, &(sin->sin_addr), sizeof(in_addr_t)) ) {
     563            SL_RETURN((1), _("sh_ipvx_reverse_check_ok")); }
    555564        }
    556565    }
    557566#endif
    558   return 0;
     567  SL_RETURN((0), _("sh_ipvx_reverse_check_ok"));
    559568}
    560569
  • trunk/src/sh_log_evalrule.c

    r481 r539  
    458458    {
    459459      *seconds = strtoul(splits[0], &endptr, 10);
    460       if ((endptr == '\0' || endptr != splits[0]) && (*seconds != ULONG_MAX))
     460      if ((*endptr == '\0') && (endptr != splits[0]) && (*seconds != ULONG_MAX))
    461461        {
    462462          res = sh_util_strdup(splits[1]);
     
    495495  volatile char pflag = '-';
    496496
     497  if (s == NULL)
     498    return -1;
     499  /* cppcheck-suppress uninitdata */
    497500  while ( *s && isspace((int)*s) ) ++s;
    498501  if (0 == strncmp(s, _("KEEP"), 4)      ||
  • trunk/src/sh_portcheck.c

    r530 r539  
    430430      sl_fclose(FIL__, __LINE__, fp);
    431431    }
     432  /* cppcheck-suppress resourceLeak */
    432433  return NULL;
    433434}
     
    480481      sl_fclose(FIL__, __LINE__, fp);
    481482    }
     483  /* cppcheck-suppress resourceLeak */
    482484  return NULL;
    483485}
  • trunk/src/sh_processcheck.c

    r481 r539  
    787787  /* sched_getparam() is broken on solaris 10, may segfault in librt
    788788   */
    789 #if !defined(sun) && !defined(__sun) && !defined(__sun__)
     789#if !defined(sun) && !defined(__sun) && !defined(__sun__) && !defined(__OpenBSD__)
    790790#ifdef _POSIX_PRIORITY_SCHEDULING
    791791  if (0 == sched_getparam (pid, &p))
  • trunk/src/sh_registry.c

    r481 r539  
    841841  size_t len;
    842842  int    retval = -1;
     843
     844  if (!subkey)
     845    return 0;
    843846 
    844847  len = strlen(path) + 1 + strlen(subkey) + 1;
     
    934937{
    935938  HKEY topKey;
    936   char * subkey;
     939  char * subkey = NULL;
    937940  char path[20] = "";
    938941  int pos = 0;
     
    974977  else
    975978    {
    976 
     979      /* We bail out here if the topKey is undefined */
    977980      char * tmp = sh_util_safe_name_keepspace(key);
    978981      size_t tlen = sl_strlen(tmp);
     
    10031006  *************************/
    10041007
     1008  /* Returns 0 if !subkey */
     1009  /* cppcheck-suppress uninitvar */
    10051010  return CheckThisSubkey (topKey, subkey, path, isSingle, 0);
    10061011}
  • trunk/src/sh_static.c

    r533 r539  
    14741474                *fp = fopen("/etc/config/hosts", "r");
    14751475        }
     1476        /* cppcheck-suppress resourceLeak */
    14761477        return;
    14771478}
     
    15491550
    15501551        *h_errnop=HOST_NOT_FOUND;
     1552        if (fp == NULL) {
     1553                return ret;
     1554        }
    15511555        while (fgets(buf, buflen, fp)) {
    15521556                if ((cp = strchr(buf, '#')))
  • trunk/src/sh_tiger0.c

    r481 r539  
    10211021  /*@-bufferoverflowhigh -usedef@*/
    10221022  for (cnt = 0; cnt < 16; ++cnt)
    1023     sprintf (&outbuf[cnt*2], _("%02X"),                 /* known to fit  */
    1024              (unsigned int) md5buffer[cnt]);
     1023    sl_snprintf (&outbuf[cnt*2], 3, _("%02X"),                 /* known to fit  */
     1024              (unsigned int) md5buffer[cnt]);
    10251025  /*@+bufferoverflowhigh +usedef@*/
    10261026  for (cnt = 32; cnt < KEY_LEN; ++cnt)
     
    15851585  /*@-bufferoverflowhigh -usedef@*/
    15861586  for (cnt = 0; cnt < 20; ++cnt)
    1587     sprintf (&outbuf[cnt*2], _("%02X"),              /* known to fit  */
     1587    sl_snprintf (&outbuf[cnt*2], 3, _("%02X"),              /* known to fit  */
    15881588             (unsigned int) sha1buffer[cnt]);
    15891589  /*@+bufferoverflowhigh +usedef@*/
  • trunk/src/sh_tools.c

    r481 r539  
    188188      if (-1 == (sd = socket(AF_INET, SOCK_STREAM, 0)))
    189189        {
     190          /* cppcheck-suppress resourceLeak */
    190191          return 0;
    191192        }
     
    864865      if (tools_debug)
    865866        fputs(_("-03- cached\n"), stderr);
     867      /* cppcheck-suppress uninitStructMember */
    866868      fd = socket(ss.ss_family, SOCK_STREAM, 0);
    867869      if (fd < 0)
     
    879881      if (fail != (-1))
    880882        {
     883          /* cppcheck-suppress uninitStructMember */
    881884          int addrlen = SH_SS_LEN(ss);
    882        
     885
    883886          if ( retry_connect(FIL__, __LINE__, fd,
    884887                             sh_ipvx_sockaddr_cast(&ss), addrlen) < 0)
  • trunk/src/sh_unix.c

    r534 r539  
    23412341      hh = diff / 60;
    23422342      mm = diff - (hh * 60);
    2343       sprintf (tz, _("%+03d%02d"), hh, mm);                /* known to fit  */
     2343      sl_snprintf (tz, sizeof(tz), _("%+03d%02d"), hh, mm);                /* known to fit  */
    23442344    }
    23452345  else
    23462346    {
    2347       sprintf (tz, _("%+03d%02d"), 0, 0);
     2347      sl_snprintf (tz, sizeof(tz), _("%+03d%02d"), 0, 0);
    23482348    }
    23492349  SL_RETURN(tz, _("t_zone"));
     
    24832483                               MSG_E_NET, errmsg, error_call,
    24842484                               _("time"), sh.srvtime.name);
     2485              errflag = error_num;
    24852486              fail = 1;
    24862487            }
     
    46024603  SL_ENTER(_("sh_unix_lock"));
    46034604
    4604   sprintf (myPid, "%ld\n", (long) sh.pid);             /* known to fit  */
     4605  sl_snprintf (myPid, sizeof(myPid), "%ld\n", (long) sh.pid);             /* known to fit  */
    46054606
    46064607  if (flag == NULL) /* PID file, check for directory */
  • trunk/src/sh_xfer_server.c

    r491 r539  
    10681068      memcpy(&peer_addr, &(conn->addr_peer), sizeof(struct sh_sockaddr));
    10691069      sh_ipvx_ntoa (peer_ip, sizeof(peer_ip), &peer_addr);
     1070      peer_name[0] = '\0';
    10701071
    10711072      /* get canonical name of socket peer
  • trunk/src/slib.c

    r529 r539  
    17771777      free (ofiles[fd]);
    17781778      ofiles[fd] = NULL;
     1779      /* cppcheck-suppress memleak */
    17791780      SL_IRETURN(SL_EMEM, _("sl_make_ticket"));
    17801781    }
     
    17891790      (void) free (ofiles[fd]);
    17901791      ofiles[fd] = NULL;
     1792      /* cppcheck-suppress memleak */
    17911793      SL_IRETURN(ticket, _("sl_make_ticket"));
    17921794    }
     
    18021804  ofiles[fd]->oline = oline;
    18031805
     1806  /* cppcheck-suppress memleak */
    18041807  SL_IRETURN(ticket, _("sl_make_ticket"));
    18051808}
  • trunk/test/testcompile.sh

    r509 r539  
    2525run_dnmalloc ()
    2626{
     27    uname -a | grep -i openbsd >/dev/null
     28
     29    if test x$? = x0; then
     30        log_skip $num ${MAXTEST} 'test dnmalloc'
     31        return 0
     32    fi
     33
    2734    fail=0
    2835    if test x$1 = x0; then
  • trunk/test/testrun_1b.sh

    r262 r539  
    6868        #
    6969        #
    70         ${TOP_SRCDIR}/configure ${BUILDOPTS} 2>/dev/null | \
    71             egrep 'use existing [./[:alnum:]]+ for gpg checksum' >/dev/null
     70        ${TOP_SRCDIR}/configure ${BUILDOPTS} 2>/dev/null
    7271        #
    7372        #
Note: See TracChangeset for help on using the changeset viewer.