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

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

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

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

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

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

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

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

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