Project

General

Profile

Actions

Bug #871

closed

1.4.3: src/util-host-os-info.c: missing index() declaration causes core dump

Added by Mark Solaris almost 11 years ago. Updated over 6 years ago.

Status:
Closed
Priority:
Normal
Assignee:
-
Target version:
-
Affected Versions:
Effort:
Difficulty:
Label:

Description

Solaris 10 SPARC with Sun Studio 12.3 compiler.

Before diff applied:

source='util-host-os-info.c' object='util-host-os-info.o' libtool=no \
DEPDIR=.deps depmode=none /bin/bash ../depcomp \
cc -xtarget=ultra -m64 -xcode=pic32 -features=extensions -g -DHAVE_CONFIG_H -I. -I..  -I../libhtp  -I/usr/local/include -I/usr/local/include -I/usr/local/include -I/usr/local/include -I/usr/local/include -I/usr/local/include -I/usr/local/lib -DLOCAL_STATE_DIR=\"/usr/local/var\" -DRELEASE    -DDEBUG -DPROFILING  -I/usr/local/include -DLIBPCAP_VERSION_MAJOR=1 -DHAVE_PCAP_SET_BUFF -c util-host-os-info.c
"counters.h", line 156: warning: anonymous union declaration
"source-pcap.h", line 40: warning: zero-sized struct/union
"decode-icmpv4.h", line 286: warning: zero-sized struct/union
"decode.h", line 357: warning: anonymous union declaration
"decode.h", line 361: warning: anonymous union declaration
"decode.h", line 382: warning: zero-sized struct/union
"decode.h", line 382: warning: anonymous union declaration
"detect-tag.h", line 82: warning: anonymous union declaration
"flow.h", line 275: warning: anonymous union declaration
"flow.h", line 279: warning: anonymous union declaration
"detect.h", line 158: warning: anonymous union declaration
"detect.h", line 229: warning: anonymous union declaration
"detect.h", line 326: warning: anonymous union declaration
"detect.h", line 334: warning: anonymous union declaration
"detect.h", line 341: warning: anonymous union declaration
"detect.h", line 364: warning: anonymous union declaration
"detect.h", line 372: warning: anonymous union declaration
"detect.h", line 379: warning: anonymous union declaration
"stream.h", line 46: warning: anonymous union declaration
"util-host-os-info.c", line 248: warning: implicit function declaration: index
"util-host-os-info.c", line 248: warning: improper pointer/integer combination: op "=" 
"util-host-os-info.c", line 255: warning: improper pointer/integer combination: op "=" 

Running the program in dbx shows the netmask_str variable is not initialized:

11/7/2013 -- 12:03:31 - <Info> - This is Suricata version 1.4.3 RELEASE
11/7/2013 -- 12:03:31 - <Info> - CPUs/cores online: 64
t@1 (l@1) signal SEGV (no mapping at the fault address) in SCHInfoAddHostOSInfo at line 256 in file "util-host-os-info.c" 
  256           netmask_str[0] = '\0';
(dbx) dump
host_os = 0x101e20ce0 "windows" 
ip_str = 0x101e12d30 "0.0.0.0/0" 
ip_str_rem = (nil)
is_ipv4 = 1
netmask_str = 0x1e12d37 "<bad address 0x0000000001e12d37>" 
ipv4_addr = (nil)
netmask_value = 0
user_data = 0x101e12d50
recursive = '\0'
__FUNCTION__ = "SCHInfoAddHostOSInfo" 
ipv6_addr = (nil)
host_os_ip_range = 0x101e20d20 "0.0.0.0/0" 

It needs this diff applied to declare index() properly, probably best inserted into suricata-common.h though :) I recompiled and a tee log shows there's no other index() to worry about.

--- suricata-1.4.3/src/util-host-os-info.c.orig Thu Jul 11 12:07:54 2013
+++ suricata-1.4.3/src/util-host-os-info.c      Thu Jul 11 12:08:36 2013
@@ -23,6 +23,8 @@
  * Host info utility functions
  */

+#include <strings.h>
+
 #include "suricata-common.h" 
 #include "util-host-os-info.h" 
 #include "util-error.h" 

Actions #1

Updated by Victor Julien over 10 years ago

  • Target version set to TBD
Actions #2

Updated by Andreas Herz over 8 years ago

  • Status changed from New to Closed
Actions #3

Updated by Victor Julien over 6 years ago

  • Target version deleted (TBD)
Actions

Also available in: Atom PDF