vhook/ppm.c:137: error: Null Dereference
  pointer `in` last assigned on line 133 could be null and is dereferenced by call to `fgetc()` at line 137, column 13.

vhook/ppm.c:129:1: start of procedure rwpipe_read_number()
127. */
128. 
129. static int rwpipe_read_number( rwpipe *rw )
     ^
130. {
131.     int value = 0;

vhook/ppm.c:131:5: 
129. static int rwpipe_read_number( rwpipe *rw )
130. {
131.     int value = 0;
         ^
132.     int c = 0;
133.     FILE *in = rwpipe_reader( rw );

vhook/ppm.c:132:5: 
130. {
131.     int value = 0;
132.     int c = 0;
         ^
133.     FILE *in = rwpipe_reader( rw );
134. 

vhook/ppm.c:133:5: 
131.     int value = 0;
132.     int c = 0;
133.     FILE *in = rwpipe_reader( rw );
         ^
134. 
135.     do

vhook/ppm.c:107:1: start of procedure rwpipe_reader()
  105. */
  106. 
  107. static FILE *rwpipe_reader( rwpipe *this )
       ^
  108. {
  109.     if ( this != NULL )

vhook/ppm.c:109:10: Taking false branch
  107. static FILE *rwpipe_reader( rwpipe *this )
  108. {
  109.     if ( this != NULL )
                ^
  110.         return this->reader;
  111.     else

vhook/ppm.c:112:9: 
  110.         return this->reader;
  111.     else
  112.         return NULL;
               ^
  113. }
  114. 

vhook/ppm.c:113:1: return from a call to rwpipe_reader
  111.     else
  112.         return NULL;
  113. }
       ^
  114. 
  115. /** Write data to the pipe.

vhook/ppm.c:137:9: 
135.     do
136.     {
137.         c = fgetc( in );
             ^
138. 
139.         while( c != EOF && !isdigit( c ) && c != '#' )
