httpd-cvs mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From traw...@apache.org
Subject cvs commit: httpd-2.0/modules/http http_protocol.c
Date Mon, 15 Jan 2001 15:40:17 GMT
trawick     01/01/15 07:40:17

  Modified:    .        CHANGES
               modules/http http_protocol.c
  Log:
   Fix a segfault in ap_http_filter().  I hit the segfault while
  discarding the body of a request, but it could affect other paths.
  
  Revision  Changes    Path
  1.39      +4 -0      httpd-2.0/CHANGES
  
  Index: CHANGES
  ===================================================================
  RCS file: /home/cvs/httpd-2.0/CHANGES,v
  retrieving revision 1.38
  retrieving revision 1.39
  diff -u -r1.38 -r1.39
  --- CHANGES	2001/01/12 10:22:52	1.38
  +++ CHANGES	2001/01/15 15:40:16	1.39
  @@ -1,5 +1,9 @@
   Changes with Apache 2.0b1
   
  +  *) Fix a segfault in ap_http_filter().  I hit the segfault while 
  +     discarding the body of a request, but it could affect other paths.
  +     [Jeff Trawick]
  +
     *) Some adjustment on the handling and automatic setting (via
        hints.m4) of various compilation flags (eg: CFLAGS). Also,
        add the capability to specify flags (NOTEST_CFLAGS and
  
  
  
  1.266     +5 -4      httpd-2.0/modules/http/http_protocol.c
  
  Index: http_protocol.c
  ===================================================================
  RCS file: /home/cvs/httpd-2.0/modules/http/http_protocol.c,v
  retrieving revision 1.265
  retrieving revision 1.266
  diff -u -r1.265 -r1.266
  --- http_protocol.c	2001/01/02 19:22:09	1.265
  +++ http_protocol.c	2001/01/15 15:40:17	1.266
  @@ -1015,6 +1015,7 @@
       if (f->c->remain) {
           e = AP_BRIGADE_FIRST(ctx->b);
           while (e != AP_BRIGADE_SENTINEL(ctx->b)) {
  +            ap_bucket *old;
               const char *ignore;
   
               if ((rv = ap_bucket_read(e, &ignore, &len, mode)) != APR_SUCCESS) {
  @@ -1037,11 +1038,11 @@
                   AP_BRIGADE_INSERT_TAIL(b, e);
                   break; /* once we've gotten some data, deliver it to caller */
               }
  -            else {
  -                AP_BUCKET_REMOVE(e);
  -                ap_bucket_destroy(e);
  -            }
  +
  +            old = e;
               e = AP_BUCKET_NEXT(e);
  +            AP_BUCKET_REMOVE(old);
  +            ap_bucket_destroy(old);
           }
           if (f->c->remain == 0) {
               ap_bucket *eos = ap_bucket_create_eos();
  
  
  

Mime
View raw message