One important note for non-technical readers:
*porting* shotcut to OpenBSD  meant fixing *three bugs* in the ported software:

- mlt (the framework shotcut is based on) uses mutexes extensively, but does NOT
initialize them completely *even though the mutex default type is unspecified
by posix
- mlt uses locales in threaded context, trying its best to protect usage with
mutexes, but *this doesn't work for us*, setlocale is NOT safe for MT usage.
- shotcut had a use-after-free (misuse of s.toUtf8().constData(), which creates
a temporary which is *invalid* after the current statement.  Turns out the
bug is *everywhere* but shows up *consistently* on OpenBSD thanks to otto@'s
malloc.


I would stress that ALL THESE ARE BUGS that are independent of OpenBSD, but
that OpenBSD is such a "hostile" environment for bugs that you have NO CHOICE
but fix the issues if you want software to run.

Reply via email to