[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Duplicate symbol json_object_iter_next in json-c, jansson



Control: reassign -1 jansson,json-c
Control: affects -1 firewalld
Control: severity -1 serious

Dear json-c and jansson Maintainers,

your libraries BOTH export a symbol named json_object_iter_next,
causing crashes for binaries that end up loading both (possibly
transitively).

This is currently the case in Debian for firewalld, which loads
libmount1 and libnftables1, which use json-c and jansson
respectively. firewalld then crashes because of this.

Some detail:

* Michael Biebl <biebl@debian.org> [200628 21:27]:
> Am 28.06.20 um 21:16 schrieb Chris Hofstaedtler:
> 
> > $ ldd /usr/lib/x86_64-linux-gnu/libmount.so.1
> > 	libjson-c.so.4 => /lib/x86_64-linux-gnu/libjson-c.so.4 (0x00007f289aec6000)
> > ...
> > 
> > $ ldd /usr/lib/x86_64-linux-gnu/libnftables.so.1
> > 	libjansson.so.4 => /lib/x86_64-linux-gnu/libjansson.so.4 (0x00007f71ffd16000)
> > ...
> > 
> > $ nm -Dg /lib/x86_64-linux-gnu/libjson-c.so.4 | grep json_object_iter
> > 0000000000006fe0 T json_object_iter_begin
> > 0000000000007000 T json_object_iter_end
> > 0000000000007040 T json_object_iter_equal
> > 0000000000007050 T json_object_iter_init_default
> > 0000000000007010 T json_object_iter_next
> > 0000000000007020 T json_object_iter_peek_name
> > 0000000000007030 T json_object_iter_peek_value
> > $ nm -Dg /lib/x86_64-linux-gnu/libjansson.so.4 | grep json_object_iter
> > 0000000000009030 T json_object_iter
> > 0000000000009050 T json_object_iter_at
> > 00000000000090b0 T json_object_iter_key
> > 0000000000009080 T json_object_iter_next
> > 0000000000009b00 T json_object_iter_set_new
> > 00000000000090d0 T json_object_iter_value
[..]
> Agreed, this should be tracked separately.

Please find a way to fix this situation.

Thanks,
Chris


Reply to: