ffserver.c:1934: error: Null Dereference
  pointer `s` last assigned on line 1929 could be null and is dereferenced at line 1934, column 5.

ffserver.c:1882:1: start of procedure open_input_stream()
1880. }
1881. 
1882. static int open_input_stream(HTTPContext *c, const char *info)
      ^
1883. {
1884.     char buf[128];

ffserver.c:1891:9: Taking true branch
1889. 
1890.     /* find file name */
1891.     if (c->stream->feed) {
              ^
1892.         strcpy(input_filename, c->stream->feed->feed_filename);
1893.         buf_size = FFM_PACKET_SIZE;

ffserver.c:1892:9: 
1890.     /* find file name */
1891.     if (c->stream->feed) {
1892.         strcpy(input_filename, c->stream->feed->feed_filename);
              ^
1893.         buf_size = FFM_PACKET_SIZE;
1894.         /* compute position (absolute time) */

ffserver.c:1893:9: 
1891.     if (c->stream->feed) {
1892.         strcpy(input_filename, c->stream->feed->feed_filename);
1893.         buf_size = FFM_PACKET_SIZE;
              ^
1894.         /* compute position (absolute time) */
1895.         if (find_info_tag(buf, sizeof(buf), "date", info))

ffserver.c:1895:13: Taking false branch
1893.         buf_size = FFM_PACKET_SIZE;
1894.         /* compute position (absolute time) */
1895.         if (find_info_tag(buf, sizeof(buf), "date", info))
                  ^
1896.         {
1897.             stream_pos = parse_date(buf, 0);

ffserver.c:1901:18: Taking true branch
1899.                 return -1;
1900.         }
1901.         else if (find_info_tag(buf, sizeof(buf), "buffer", info)) {
                       ^
1902.             int prebuffer = strtol(buf, 0, 10);
1903.             stream_pos = av_gettime() - prebuffer * (int64_t)1000000;

ffserver.c:1902:13: 
1900.         }
1901.         else if (find_info_tag(buf, sizeof(buf), "buffer", info)) {
1902.             int prebuffer = strtol(buf, 0, 10);
                  ^
1903.             stream_pos = av_gettime() - prebuffer * (int64_t)1000000;
1904.         } else

ffserver.c:1903:13: Skipping av_gettime(): empty list of specs
1901.         else if (find_info_tag(buf, sizeof(buf), "buffer", info)) {
1902.             int prebuffer = strtol(buf, 0, 10);
1903.             stream_pos = av_gettime() - prebuffer * (int64_t)1000000;
                  ^
1904.         } else
1905.             stream_pos = av_gettime() - c->stream->prebuffer * (int64_t)1000;

ffserver.c:1919:9: Taking false branch
1917.             stream_pos = 0;
1918.     }
1919.     if (input_filename[0] == '\0')
              ^
1920.         return -1;
1921. 

ffserver.c:1929:9: 
1927. 
1928.     /* open stream */
1929.     if (av_open_input_file(&s, input_filename, c->stream->ifmt,
              ^
1930.                            buf_size, c->stream->ap_in) < 0) {
1931.         http_log("%s not found", input_filename);

libavformat/utils.c:416:1: start of procedure av_open_input_file()
  414. #define PROBE_BUF_MAX (1<<20)
  415. 
  416. int av_open_input_file(AVFormatContext **ic_ptr, const char *filename,
       ^
  417.                        AVInputFormat *fmt,
  418.                        int buf_size,

libavformat/utils.c:422:5: 
  420. {
  421.     int err, probe_size;
  422.     AVProbeData probe_data, *pd = &probe_data;
           ^
  423.     ByteIOContext *pb = NULL;
  424. 

libavformat/utils.c:423:5: 
  421.     int err, probe_size;
  422.     AVProbeData probe_data, *pd = &probe_data;
  423.     ByteIOContext *pb = NULL;
           ^
  424. 
  425.     pd->filename = "";

libavformat/utils.c:425:5: 
  423.     ByteIOContext *pb = NULL;
  424. 
  425.     pd->filename = "";
           ^
  426.     if (filename)
  427.         pd->filename = filename;

libavformat/utils.c:426:9: Taking true branch
  424. 
  425.     pd->filename = "";
  426.     if (filename)
               ^
  427.         pd->filename = filename;
  428.     pd->buf = NULL;

libavformat/utils.c:427:9: 
  425.     pd->filename = "";
  426.     if (filename)
  427.         pd->filename = filename;
               ^
  428.     pd->buf = NULL;
  429.     pd->buf_size = 0;

libavformat/utils.c:428:5: 
  426.     if (filename)
  427.         pd->filename = filename;
  428.     pd->buf = NULL;
           ^
  429.     pd->buf_size = 0;
  430. 

libavformat/utils.c:429:5: 
  427.         pd->filename = filename;
  428.     pd->buf = NULL;
  429.     pd->buf_size = 0;
           ^
  430. 
  431.     if (!fmt) {

libavformat/utils.c:431:10: Taking false branch
  429.     pd->buf_size = 0;
  430. 
  431.     if (!fmt) {
                ^
  432.         /* guess format if no file can be opened */
  433.         fmt = av_probe_input_format(pd, 0);

libavformat/utils.c:438:10: Taking false branch
  436.     /* Do not open file if the format does not need it. XXX: specific
  437.        hack needed to handle RTSP/TCP */
  438.     if (!fmt || !(fmt->flags & AVFMT_NOFILE)) {
                ^
  439.         /* if no file needed do not try to open one */
  440.         if ((err=url_fopen(&pb, filename, URL_RDONLY)) < 0) {

libavformat/utils.c:438:19: Taking false branch
  436.     /* Do not open file if the format does not need it. XXX: specific
  437.        hack needed to handle RTSP/TCP */
  438.     if (!fmt || !(fmt->flags & AVFMT_NOFILE)) {
                         ^
  439.         /* if no file needed do not try to open one */
  440.         if ((err=url_fopen(&pb, filename, URL_RDONLY)) < 0) {

libavformat/utils.c:468:10: Taking false branch
  466. 
  467.     /* if still no format found, error */
  468.     if (!fmt) {
                ^
  469.         err = AVERROR_NOFMT;
  470.         goto fail;

libavformat/utils.c:474:9: Taking false branch
  472. 
  473.     /* check filename in case an image number is expected */
  474.     if (fmt->flags & AVFMT_NEEDNUMBER) {
               ^
  475.         if (!av_filename_number_test(filename)) {
  476.             err = AVERROR_NUMEXPECTED;

libavformat/utils.c:480:5: Skipping av_open_input_stream(): empty list of specs
  478.         }
  479.     }
  480.     err = av_open_input_stream(ic_ptr, pb, filename, fmt, ap);
           ^
  481.     if (err)
  482.         goto fail;

libavformat/utils.c:481:9: Taking true branch
  479.     }
  480.     err = av_open_input_stream(ic_ptr, pb, filename, fmt, ap);
  481.     if (err)
               ^
  482.         goto fail;
  483.     return 0;

libavformat/utils.c:484:2: 
  482.         goto fail;
  483.     return 0;
  484.  fail:
        ^
  485.     av_freep(&pd->buf);
  486.     if (pb)

libavformat/utils.c:485:5: 
  483.     return 0;
  484.  fail:
  485.     av_freep(&pd->buf);
           ^
  486.     if (pb)
  487.         url_fclose(pb);

libavutil/mem.c:125:1: start of procedure av_freep()
    123. }
    124. 
    125. void av_freep(void *arg)
         ^
    126. {
    127.     void **ptr= (void**)arg;

libavutil/mem.c:127:5: 
    125. void av_freep(void *arg)
    126. {
    127.     void **ptr= (void**)arg;
             ^
    128.     av_free(*ptr);
    129.     *ptr = NULL;

libavutil/mem.c:128:5: 
    126. {
    127.     void **ptr= (void**)arg;
    128.     av_free(*ptr);
             ^
    129.     *ptr = NULL;
    130. }

libavutil/mem.c:114:1: start of procedure av_free()
      112. }
      113. 
      114. void av_free(void *ptr)
           ^
      115. {
      116.     /* XXX: this test should not be needed on most libcs */

libavutil/mem.c:117:9: Taking false branch
      115. {
      116.     /* XXX: this test should not be needed on most libcs */
      117.     if (ptr)
                   ^
      118. #ifdef CONFIG_MEMALIGN_HACK
      119.         free((char*)ptr - ((char*)ptr)[-1]);

libavutil/mem.c:117:5: 
      115. {
      116.     /* XXX: this test should not be needed on most libcs */
      117.     if (ptr)
               ^
      118. #ifdef CONFIG_MEMALIGN_HACK
      119.         free((char*)ptr - ((char*)ptr)[-1]);

libavutil/mem.c:123:1: return from a call to av_free
      121.         free(ptr);
      122. #endif
      123. }
           ^
      124. 
      125. void av_freep(void *arg)

libavutil/mem.c:129:5: 
    127.     void **ptr= (void**)arg;
    128.     av_free(*ptr);
    129.     *ptr = NULL;
             ^
    130. }
    131. 

libavutil/mem.c:130:1: return from a call to av_freep
    128.     av_free(*ptr);
    129.     *ptr = NULL;
    130. }
         ^
    131. 
    132. void *av_mallocz(unsigned int size)

libavformat/utils.c:486:9: Taking false branch
  484.  fail:
  485.     av_freep(&pd->buf);
  486.     if (pb)
               ^
  487.         url_fclose(pb);
  488.     *ic_ptr = NULL;

libavformat/utils.c:488:5: 
  486.     if (pb)
  487.         url_fclose(pb);
  488.     *ic_ptr = NULL;
           ^
  489.     return err;
  490. 

libavformat/utils.c:489:5: 
  487.         url_fclose(pb);
  488.     *ic_ptr = NULL;
  489.     return err;
           ^
  490. 
  491. }

libavformat/utils.c:491:1: return from a call to av_open_input_file
  489.     return err;
  490. 
  491. }
       ^
  492. 
  493. /*******************************************************/

ffserver.c:1929:9: Taking false branch
1927. 
1928.     /* open stream */
1929.     if (av_open_input_file(&s, input_filename, c->stream->ifmt,
              ^
1930.                            buf_size, c->stream->ap_in) < 0) {
1931.         http_log("%s not found", input_filename);

ffserver.c:1934:5: 
1932.         return -1;
1933.     }
1934.     s->flags |= AVFMT_FLAG_GENPTS;
          ^
1935.     c->fmt_in = s;
1936.     av_find_stream_info(c->fmt_in);
