#37862: libsvm 3.15 and 3.16 potential crash on svm_free_model_content() -------------------------------+-------------------------------- Reporter: andre.dos.anjos@… | Owner: macports-tickets@… Type: defect | Status: new Priority: High | Milestone: Component: ports | Version: 2.1.2 Keywords: | Port: libsvm -------------------------------+-------------------------------- The author of libsvm introduced the following lines of code on libsvm-3.15/svm.cpp (also true for libsvm-3.16), for model destructors - `svm_free_model_content()`, around line 2977: {{{#!c free(model_ptr->sv_indices); model_ptr->sv_indices = NULL; }}} This works well when `svm_train()` is called before `svm_free_model_content()` because `svm_train()` initializes `model_ptr->sv_indices` properly. This is not the case for `svm_load_model()`, that loads a pre-trained model. The variable `sv_indices` is never initialized (to `NULL`) so, depending on code layout and compilation options, its value may be set to `!= NULL`. In those cases, the newly introduced code will cause a `free()` error (trying to deallocate unallocated memory) which leads to program abortion. To fix this problem, it suffices to initialize `sv_indices` properly. Patch attached. Could you please add this patch and re-state the build? Thanks, A -- Ticket URL: <https://trac.macports.org/ticket/37862> MacPorts <http://www.macports.org/> Ports system for Mac OS