Skip to content

Commit c14ba4f

Browse files
committed
Merge commit '2f45d5de4678be1a968ebe2ee08bc1d483cd1ff5'
2 parents 378bb95 + 2f45d5d commit c14ba4f

File tree

4 files changed

+39
-10
lines changed

4 files changed

+39
-10
lines changed

rtpproxy/.github/workflows/rtpproxy_ci.yml

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -54,10 +54,12 @@ jobs:
5454
compiler: 'clang-16'
5555
- os: 24.04
5656
compiler: 'clang-17'
57-
- os: 24.04
58-
compiler: 'clang-18'
57+
# - os: 24.04
58+
# compiler: 'clang-18' <- this is the same as "clang" on 24.04
5959
- os: 24.04
6060
compiler: 'clang-19'
61+
- os: 24.04
62+
compiler: 'clang-20'
6163

6264
steps:
6365
- uses: actions/checkout@v4

rtpproxy/modules/ice_lite/rtpp_ice_lite.c

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -253,6 +253,8 @@ rtpp_ice_lite_worker(const struct rtpp_wthrdata *wp)
253253
struct sa raddr = {0};
254254
rtpp2re_sa(&raddr, sstosa(&pkt->raddr));
255255
ila_c->sock->strmp_in = wip->strmp_in;
256+
if (ila_c->sock->rh == NULL)
257+
goto out;
256258
ila_c->sock->rh(&raddr, mb, ila_c->sock->rh_arg);
257259
bool completed = iscompleted(ila_c->icem);
258260
if (!ila_iscompleted(ila_c) && completed) {
@@ -261,6 +263,7 @@ rtpp_ice_lite_worker(const struct rtpp_wthrdata *wp)
261263
CALL_SMETHOD(ila_c->sock->strmp_in, latch, pkt);
262264
atomic_store_explicit(&ila_c->completed, true, memory_order_relaxed);
263265
}
266+
out:
264267
pthread_mutex_unlock(&ila_c->state_lock);
265268
RTPP_OBJ_DECREF(pkt);
266269
RTPP_OBJ_DECREF(wi);

rtpproxy/scripts/fuzz/libssl-dev.patch

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -130,3 +130,25 @@ Last-Update: 2024-08-16
130130

131131
data.ssl_version = s->version;
132132
if (!ossl_assert(sess_id_len <= SSL_MAX_SSL_SESSION_ID_LENGTH))
133+
--- openssl-1.1.1f/fuzz/client.c.orig 2026-03-12 20:18:46.424656000 -0700
134+
+++ openssl-1.1.1f/fuzz/client.c 2026-03-12 20:19:18.983162000 -0700
135+
@@ -34,7 +34,7 @@
136+
* in things not being fully reproducible and have a slightly
137+
* different coverage.
138+
*/
139+
-#if !defined(_WIN32)
140+
+#if !defined(_WIN32) && !defined(time)
141+
time_t time(time_t *t) TIME_IMPL(t)
142+
#endif
143+
144+
--- openssl-1.1.1f/fuzz/server.c.orig 2026-03-12 20:18:46.424656000 -0700
145+
+++ openssl-1.1.1f/fuzz/server.c 2026-03-12 20:19:18.983162000 -0700
146+
@@ -34,7 +34,7 @@
147+
* in things not being fully reproducible and have a slightly
148+
* different coverage.
149+
*/
150+
-#if !defined(_WIN32)
151+
+#if !defined(_WIN32) && !defined(time)
152+
time_t time(time_t *t) TIME_IMPL(t)
153+
#endif
154+

rtpproxy/scripts/fuzz/oss-fuzz-build.sh

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ set -x
55
set -o pipefail
66

77
CC="${CC:-"clang19"}"
8-
CXX="${CXX:-"${CC}"}"
8+
CXX="${CXX:-"clang++19"}"
99
CFLAGS="${CFLAGS:-"-g3 -O1 -Wall"}"
1010
CXXFLAGS="${CXXFLAGS:-"${CFLAGS}"}"
1111
OUT="${OUT:-"."}"
@@ -20,14 +20,16 @@ install_src_pkg() {
2020
local PKGNAME="${1}"
2121
mkdir -p /tmp/src/libfuzzer
2222
local TMPDIR="`mktemp -d /tmp/src/libfuzzer/${PKGNAME}.XXXXXXXX`"
23+
local TMPFILE="${TMPDIR}/time_hack.h"
24+
printf '#define _GNU_SOURCE\n#include <time.h>\n#define time(x) ({if((x) != NULL) *(time_t *)(x) = 0x69b30000; 0x69b30000;})\n' > "${TMPFILE}"
2325
local OLD_PWD="`pwd`"
2426
cd ${TMPDIR}
2527
apt-get build-dep -y ${PKGNAME}
2628
apt-get source ${PKGNAME}
2729
cd ${2}-*
2830
(head -n 1 debian/rules; \
29-
echo "export CFLAGS=${CFLAGS}"; \
30-
echo "export CXXFLAGS=${CXXFLAGS}"; \
31+
echo "export CFLAGS=${CFLAGS} --include ${TMPFILE}"; \
32+
echo "export CXXFLAGS=${CXXFLAGS} --include ${TMPFILE}"; \
3133
echo "export RANLIB=${RANLIB}"; \
3234
tail -n +2 debian/rules) > debian/_rules
3335
mv debian/_rules debian/rules
@@ -84,7 +86,7 @@ fi
8486

8587
LD="lld"
8688
LD_BIN="ld.lld"
87-
LDFLAGS="-fuse-ld=${LD}"
89+
LDFLAGS="${LDFLAGS} -fuse-ld=${LD}"
8890

8991
CFLAGS="${CFLAGS} -DRTPP_DEBUG_refcnt=1"
9092
CXXFLAGS="${CXXFLAGS} -DRTPP_DEBUG_refcnt=1"
@@ -110,7 +112,7 @@ for src in rfz_chunk.c rfz_command.c rfz_utils.c
110112
do
111113
obj="${OUT}/${src%.*}.o"
112114
src=scripts/fuzz/${src}
113-
${CC} ${CFLAGS} ${LIB_FUZZING_ENGINE} -Isrc -o ${obj} -c ${src}
115+
${CC} ${CFLAGS} -Isrc -o ${obj} -c ${src}
114116
OBJS="${OBJS} ${obj}"
115117
done
116118

@@ -119,7 +121,7 @@ OBJS0="${OBJS}"
119121
for fz in ${ALL}
120122
do
121123
obj="${OUT}/fuzz_${fz}.o"
122-
${CC} ${CFLAGS} ${LIB_FUZZING_ENGINE} -Isrc -Imodules/acct_rtcp_hep \
124+
${CC} ${CFLAGS} -Isrc -Imodules/acct_rtcp_hep \
123125
-o "${obj}" -c scripts/fuzz/fuzz_${fz}.c
124126
OBJS="${OBJS0} ${obj}"
125127

@@ -132,8 +134,8 @@ do
132134
;;
133135
esac
134136

135-
${CXX} ${CXXFLAGS} ${LIB_FUZZING_ENGINE} ${LDFLAGS} -o ${OUT}/fuzz_${fz} \
136-
${OBJS} ${LIBRTPP} -lm ${LIBSRTP}
137+
${CXX} ${CXXFLAGS} ${LDFLAGS} -o ${OUT}/fuzz_${fz} \
138+
${OBJS} ${LIBRTPP} -lm ${LIBSRTP} ${LIB_FUZZING_ENGINE}
137139

138140
for suff in dict options
139141
do

0 commit comments

Comments
 (0)