Merge branch 'master' of github.com:sctplab/usrsctp
diff --git a/fuzzer/CORPUS_CONNECT/clusterfuzz-testcase-fuzzer_connect-5204536192401408 b/fuzzer/CORPUS_CONNECT/clusterfuzz-testcase-fuzzer_connect-5204536192401408
new file mode 100644
index 0000000..d2ceb96
--- /dev/null
+++ b/fuzzer/CORPUS_CONNECT/clusterfuzz-testcase-fuzzer_connect-5204536192401408
Binary files differ
diff --git a/fuzzer/CORPUS_CONNECT/clusterfuzz-testcase-fuzzer_connect-5634380847906816 b/fuzzer/CORPUS_CONNECT/clusterfuzz-testcase-fuzzer_connect-5634380847906816
new file mode 100644
index 0000000..8c1eb51
--- /dev/null
+++ b/fuzzer/CORPUS_CONNECT/clusterfuzz-testcase-fuzzer_connect-5634380847906816
Binary files differ
diff --git a/fuzzer/CORPUS_CONNECT/clusterfuzz-testcase-fuzzer_connect-5645105154752512 b/fuzzer/CORPUS_CONNECT/clusterfuzz-testcase-fuzzer_connect-5645105154752512
new file mode 100644
index 0000000..0428a9d
--- /dev/null
+++ b/fuzzer/CORPUS_CONNECT/clusterfuzz-testcase-fuzzer_connect-5645105154752512
Binary files differ
diff --git a/fuzzer/CORPUS_CONNECT/clusterfuzz-testcase-fuzzer_connect-5649242005176320 b/fuzzer/CORPUS_CONNECT/clusterfuzz-testcase-fuzzer_connect-5649242005176320
new file mode 100644
index 0000000..c6491cc
--- /dev/null
+++ b/fuzzer/CORPUS_CONNECT/clusterfuzz-testcase-fuzzer_connect-5649242005176320
Binary files differ
diff --git a/fuzzer/CORPUS_CONNECT/clusterfuzz-testcase-fuzzer_connect-5676652788449280 b/fuzzer/CORPUS_CONNECT/clusterfuzz-testcase-fuzzer_connect-5676652788449280
new file mode 100644
index 0000000..fc85d8b
--- /dev/null
+++ b/fuzzer/CORPUS_CONNECT/clusterfuzz-testcase-fuzzer_connect-5676652788449280
Binary files differ
diff --git a/fuzzer/CORPUS_CONNECT/clusterfuzz-testcase-fuzzer_connect-5722044720742400 b/fuzzer/CORPUS_CONNECT/clusterfuzz-testcase-fuzzer_connect-5722044720742400
new file mode 100644
index 0000000..79fd18e
--- /dev/null
+++ b/fuzzer/CORPUS_CONNECT/clusterfuzz-testcase-fuzzer_connect-5722044720742400
Binary files differ
diff --git a/fuzzer/CORPUS_CONNECT/clusterfuzz-testcase-fuzzer_connect-5741506257747968 b/fuzzer/CORPUS_CONNECT/clusterfuzz-testcase-fuzzer_connect-5741506257747968
new file mode 100644
index 0000000..ec037b3
--- /dev/null
+++ b/fuzzer/CORPUS_CONNECT/clusterfuzz-testcase-fuzzer_connect-5741506257747968
Binary files differ
diff --git a/fuzzer/CORPUS_CONNECT/clusterfuzz-testcase-fuzzer_unconnected-5767885871382528 b/fuzzer/CORPUS_CONNECT/clusterfuzz-testcase-fuzzer_unconnected-5767885871382528
new file mode 100644
index 0000000..a082503
--- /dev/null
+++ b/fuzzer/CORPUS_CONNECT/clusterfuzz-testcase-fuzzer_unconnected-5767885871382528
Binary files differ
diff --git a/fuzzer/CORPUS_CONNECT/clusterfuzz-testcase-minimized-fuzzer_connect-5638658568224768 b/fuzzer/CORPUS_CONNECT/clusterfuzz-testcase-minimized-fuzzer_connect-5638658568224768
new file mode 100644
index 0000000..b768788
--- /dev/null
+++ b/fuzzer/CORPUS_CONNECT/clusterfuzz-testcase-minimized-fuzzer_connect-5638658568224768
Binary files differ
diff --git a/fuzzer/CORPUS_CONNECT/clusterfuzz-testcase-minimized-fuzzer_connect-5675883720867840 b/fuzzer/CORPUS_CONNECT/clusterfuzz-testcase-minimized-fuzzer_connect-5675883720867840
new file mode 100644
index 0000000..2a19f47
--- /dev/null
+++ b/fuzzer/CORPUS_CONNECT/clusterfuzz-testcase-minimized-fuzzer_connect-5675883720867840
Binary files differ
diff --git a/fuzzer/CORPUS_CONNECT/clusterfuzz-testcase-minimized-fuzzer_unconnected-5639391992610816 b/fuzzer/CORPUS_CONNECT/clusterfuzz-testcase-minimized-fuzzer_unconnected-5639391992610816
new file mode 100644
index 0000000..50cfe2a
--- /dev/null
+++ b/fuzzer/CORPUS_CONNECT/clusterfuzz-testcase-minimized-fuzzer_unconnected-5639391992610816
Binary files differ
diff --git a/fuzzer/build-fuzzer.sh b/fuzzer/build-fuzzer.sh
index 59111e1..46fe5bb 100755
--- a/fuzzer/build-fuzzer.sh
+++ b/fuzzer/build-fuzzer.sh
@@ -7,15 +7,12 @@
 if [ "$(uname)" = "Linux" ]; then
 	NPROC=$(nproc)
 	CC=clang-10
-	LINKER=ld.lld-10
 elif [ "$(uname)" = "Darwin" ]; then
 	NPROC=$(sysctl -n hw.ncpu)
 	CC=/usr/local/opt/llvm/bin/clang
-	LINKER=/usr/local/opt/llvm/bin/ld.lld
 elif [ "$(uname)" = "FreeBSD" ]; then
 	NPROC=$(sysctl -n hw.ncpu)
 	CC=clang-devel
-	LINKER=ld.lld-devel
 else
 	echo "Error: $(uname) not supported, sorry!"
 	exit 1
@@ -44,7 +41,7 @@
 find . -iwholename '*cmake*' -not -name CMakeLists.txt -delete
 
 # Build with ASAN / MSAN
-cmake -Dsctp_build_fuzzer=1 -Dsctp_build_programs=0 -Dsctp_invariants=1 -Dsctp_sanitizer_address=1 -DCMAKE_LINKER="$LINKER" -DCMAKE_C_COMPILER="$CC" -DCMAKE_BUILD_TYPE=RelWithDebInfo .
-#cmake -Dsctp_build_fuzzer=1 -Dsctp_build_programs=0 -Dsctp_invariants=1 -Dsctp_sanitizer_memory=1 -DCMAKE_LINKER="$LINKER" -DCMAKE_C_COMPILER="$CC" -DCMAKE_BUILD_TYPE=RelWithDebInfo .
+cmake -Dsctp_build_fuzzer=1 -Dsctp_build_programs=0 -Dsctp_invariants=1 -Dsctp_sanitizer_address=1 -DCMAKE_LINKER="$CC" -DCMAKE_C_COMPILER="$CC" -DCMAKE_BUILD_TYPE=RelWithDebInfo .
+#cmake -Dsctp_build_fuzzer=1 -Dsctp_build_programs=0 -Dsctp_invariants=1 -Dsctp_sanitizer_memory=1 -DCMAKE_LINKER="$CC" -DCMAKE_C_COMPILER="$CC" -DCMAKE_BUILD_TYPE=RelWithDebInfo .
 
 make -j"$NPROC"
diff --git a/fuzzer/fuzzer_connect.c b/fuzzer/fuzzer_connect.c
index 859c5bd..87b6ebb 100644
--- a/fuzzer/fuzzer_connect.c
+++ b/fuzzer/fuzzer_connect.c
@@ -140,6 +140,9 @@
 #endif
 	usrsctp_register_address((void *)1);
 
+	//usrsctp_sysctl_set_sctp_auto_asconf(0);
+	//usrsctp_sysctl_set_sctp_auth_enable(0);
+
 	fuzzer_printf("usrsctp initialized\n");
 	return (1);
 }
diff --git a/usrsctplib/netinet/sctp_callout.c b/usrsctplib/netinet/sctp_callout.c
index 4ca094f..a08d640 100755
--- a/usrsctplib/netinet/sctp_callout.c
+++ b/usrsctplib/netinet/sctp_callout.c
@@ -106,7 +106,7 @@
 }
 
 void
-sctp_os_timer_start(sctp_os_timer_t *c, int to_ticks, void (*ftn) (void *),
+sctp_os_timer_start(sctp_os_timer_t *c, uint32_t to_ticks, void (*ftn) (void *),
                     void *arg)
 {
 	/* paranoia */
@@ -147,7 +147,7 @@
 	 * We could unlock/splx here and lock/spl at the TAILQ_INSERT_TAIL,
 	 * but there's no point since doing this setup doesn't take much time.
 	 */
-	if (to_ticks <= 0)
+	if (to_ticks == 0)
 		to_ticks = 1;
 
 	c->c_arg = arg;
diff --git a/usrsctplib/netinet/sctp_callout.h b/usrsctplib/netinet/sctp_callout.h
index 334204e..0f4dc6b 100755
--- a/usrsctplib/netinet/sctp_callout.h
+++ b/usrsctplib/netinet/sctp_callout.h
@@ -101,7 +101,7 @@
 #define	SCTP_CALLOUT_PENDING	0x0004	/* callout is waiting for timeout */
 
 void sctp_os_timer_init(sctp_os_timer_t *tmr);
-void sctp_os_timer_start(sctp_os_timer_t *, int, void (*)(void *), void *);
+void sctp_os_timer_start(sctp_os_timer_t *, uint32_t, void (*)(void *), void *);
 int sctp_os_timer_stop(sctp_os_timer_t *);
 void sctp_handle_tick(uint32_t);