avserver.c:3906: error: Null Dereference
  pointer `init_func` last assigned on line 3898 could be null and is dereferenced at line 3906, column 5.

avserver.c:3887:1: start of procedure load_module()
3885. 
3886. #if HAVE_DLOPEN
3887. static void load_module(const char *filename)
      ^
3888. {
3889.     void *dll;

avserver.c:3891:5: Skipping dlopen(): method has no implementation
3889.     void *dll;
3890.     void (*init_func)(void);
3891.     dll = dlopen(filename, RTLD_NOW);
          ^
3892.     if (!dll) {
3893.         fprintf(stderr, "Could not load module '%s' - %s\n",

avserver.c:3892:10: Taking false branch
3890.     void (*init_func)(void);
3891.     dll = dlopen(filename, RTLD_NOW);
3892.     if (!dll) {
               ^
3893.         fprintf(stderr, "Could not load module '%s' - %s\n",
3894.                 filename, dlerror());

avserver.c:3898:5: Skipping dlsym(): method has no implementation
3896.     }
3897. 
3898.     init_func = dlsym(dll, "avserver_module_init");
          ^
3899.     if (!init_func) {
3900.         fprintf(stderr,

avserver.c:3899:10: Taking true branch
3897. 
3898.     init_func = dlsym(dll, "avserver_module_init");
3899.     if (!init_func) {
               ^
3900.         fprintf(stderr,
3901.                 "%s: init function 'avserver_module_init()' not found\n",

avserver.c:3900:9: 
3898.     init_func = dlsym(dll, "avserver_module_init");
3899.     if (!init_func) {
3900.         fprintf(stderr,
              ^
3901.                 "%s: init function 'avserver_module_init()' not found\n",
3902.                 filename);

avserver.c:3903:9: Skipping dlclose(): method has no implementation
3901.                 "%s: init function 'avserver_module_init()' not found\n",
3902.                 filename);
3903.         dlclose(dll);
              ^
3904.     }
3905. 

avserver.c:3906:5: 
3904.     }
3905. 
3906.     init_func();
          ^
3907. }
3908. #endif

static void load_module(const char *filename)
{
    void *dll;
    void (*init_func)(void);
    dll = dlopen(filename, RTLD_NOW);
    if (!dll) {
        fprintf(stderr, "Could not load module '%s' - %s\n",
                filename, dlerror());
        return;
    }
    init_func = dlsym(dll, "avserver_module_init");
    if (!init_func) {
        fprintf(stderr,
                "%s: init function 'avserver_module_init()' not found\n",
                filename);
        dlclose(dll);
    }
    init_func();
}
['static void load_module(const char *filename)\n{\n    void *dll;\n    void (*init_func)(void);\n    dll = dlopen(filename, RTLD_NOW);\n    if (!dll) {\n        fprintf(stderr, "Could not load module \'%s\' - %s\\n",\n                filename, dlerror());\n        return;\n    }\n    init_func = dlsym(dll, "avserver_module_init");\n    if (!init_func) {\n        fprintf(stderr,\n                "%s: init function \'avserver_module_init()\' not found\\n",\n                filename);\n        dlclose(dll);\n    }\n    init_func();\n}']