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

avserver.c:3893:1: start of procedure load_module()
3891. 
3892. #if HAVE_DLOPEN
3893. static void load_module(const char *filename)
      ^
3894. {
3895.     void *dll;

avserver.c:3897:5: Skipping dlopen(): method has no implementation
3895.     void *dll;
3896.     void (*init_func)(void);
3897.     dll = dlopen(filename, RTLD_NOW);
          ^
3898.     if (!dll) {
3899.         fprintf(stderr, "Could not load module '%s' - %s\n",

avserver.c:3898:10: Taking false branch
3896.     void (*init_func)(void);
3897.     dll = dlopen(filename, RTLD_NOW);
3898.     if (!dll) {
               ^
3899.         fprintf(stderr, "Could not load module '%s' - %s\n",
3900.                 filename, dlerror());

avserver.c:3904:5: Skipping dlsym(): method has no implementation
3902.     }
3903. 
3904.     init_func = dlsym(dll, "avserver_module_init");
          ^
3905.     if (!init_func) {
3906.         fprintf(stderr,

avserver.c:3905:10: Taking true branch
3903. 
3904.     init_func = dlsym(dll, "avserver_module_init");
3905.     if (!init_func) {
               ^
3906.         fprintf(stderr,
3907.                 "%s: init function 'avserver_module_init()' not found\n",

avserver.c:3906:9: 
3904.     init_func = dlsym(dll, "avserver_module_init");
3905.     if (!init_func) {
3906.         fprintf(stderr,
              ^
3907.                 "%s: init function 'avserver_module_init()' not found\n",
3908.                 filename);

avserver.c:3909:9: Skipping dlclose(): method has no implementation
3907.                 "%s: init function 'avserver_module_init()' not found\n",
3908.                 filename);
3909.         dlclose(dll);
              ^
3910.     }
3911. 

avserver.c:3912:5: 
3910.     }
3911. 
3912.     init_func();
          ^
3913. }
3914. #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}']