[Pkg-nagios-devel] Bug#479061: nagios3: dereference NULL pointer when a check command returns no output

Stephane Chazelas stephane at artesyncp.com
Fri May 2 13:43:50 UTC 2008

Package: nagios3
Version: 3.0.1-1
Severity: normal

If a "check" command returns no output at all, you see the
output being "(null)" with the glibc and you would get a SEGV
with other libc's.

This is because of:


2975         /* initialize dynamic buffer for storing plugin output */
2976         dbuf_init(&checkresult_dbuf,dbuf_chunk);
3042                         /* get all lines of plugin output - escape newlines */
3043                         while(fgets(output_buffer,sizeof(output_buffer)-1,fp)){
3044                                 temp_buffer=escape_newlines(output_buffer);
3045                                 dbuf_strcat(&checkresult_dbuf,temp_buffer);
3046                                 my_free(temp_buffer);
3047                                 }
3079                                 fprintf(check_result_info.output_file_fp,"output=%s\n",checkresult_dbuf.buf);

There's no pass in the while loop because the output is empty.

dbuf_init is:

3510 int dbuf_init(dbuf *db, int chunk_size){
3512         if(db==NULL)
3513                 return ERROR;
3515         db->buf=NULL;
3516         db->used_size=0L;
3517         db->allocated_size=0L;
3518         db->chunk_size=chunk_size;
3520         return OK;
3521         }

So, we get a fprintf %s of NULL in that case.

A possible fix would be to have dbuf_init allocate some space for buf, and set
db->buf[0] = '\0'

-- System Information:
Debian Release: lenny/sid
  APT prefers unstable
  APT policy: (500, 'unstable')
Architecture: i386 (i686)

Kernel: Linux
Locale: LANG=en_GB.ISO-8859-15, LC_CTYPE=en_GB.ISO-8859-15 (charmap=ISO-8859-15)
Shell: /bin/sh linked to /bin/bash

Versions of packages nagios3 depends on:
ii  libc6                  2.7-10            GNU C Library: Shared libraries
ii  libgd2-xpm             2.0.36~rc1~dfsg-2 GD Graphics Library version 2
ii  libglib2.0-0           2.16.3-2          The GLib library of C routines
ii  libjpeg62              6b-14             The Independent JPEG Group's JPEG 
ii  libperl5.8             5.8.8-12          Shared Perl library
ii  libpng12-0             1.2.26-1          PNG library - runtime
ii  nagios3-common         3.0.1-1           support files for nagios3
ii  perl                   5.8.8-12          Larry Wall's Practical Extraction 
ii  zlib1g                 1: compression library - runtime

nagios3 recommends no packages.

-- no debconf information

More information about the Pkg-nagios-devel mailing list