Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
View | Details | Raw Unified | Return to bug 199195 | Differences between
and this patch

Collapse All | Expand All

(-)cups-1.2.4/scheduler/client.c.CVE-2007-4045 (+21 lines)
Lines 105-110 static int write_file(cupsd_client_t *c Link Here
105
				   struct stat *filestats);
105
				   struct stat *filestats);
106
106
107
107
108
void
109
_cupsdFixClientsBIO(void)
110
{
111
#ifdef HAVE_LIBSSL
112
  cupsd_client_t *c;
113
  BIO *bio;
114
  cupsArraySave (Clients);
115
  for (c = (cupsd_client_t *)cupsArrayFirst(Clients);
116
       c;
117
       c = (cupsd_client_t *)cupsArrayNext(Clients))
118
  {
119
    bio = SSL_get_wbio(c->http.tls);
120
    BIO_ctrl(bio, BIO_C_SET_FILE_PTR, 0, (char *)HTTP(c));
121
  }
122
  cupsArrayRestore (Clients);
123
#endif
124
}
125
126
108
/*
127
/*
109
 * 'cupsdAcceptClient()' - Accept a new client.
128
 * 'cupsdAcceptClient()' - Accept a new client.
110
 */
129
 */
Lines 438-443 cupsdAcceptClient(cupsd_listener_t *lis) Link Here
438
  }
457
  }
439
458
440
  cupsArrayAdd(Clients, con);
459
  cupsArrayAdd(Clients, con);
460
  _cupsdFixClientsBIO();
441
461
442
  cupsdLogMessage(CUPSD_LOG_DEBUG2,
462
  cupsdLogMessage(CUPSD_LOG_DEBUG2,
443
                  "cupsdAcceptClient: %d connected to server on %s:%d",
463
                  "cupsdAcceptClient: %d connected to server on %s:%d",
Lines 729-734 cupsdCloseClient(cupsd_client_t *con) /* Link Here
729
    */
749
    */
730
750
731
    cupsArrayRemove(Clients, con);
751
    cupsArrayRemove(Clients, con);
752
    _cupsdFixClientsBIO();
732
753
733
    free(con);
754
    free(con);
734
  }
755
  }
(-)cups-1.2.4/scheduler/main.c.CVE-2007-4045 (-1 / +1 lines)
Lines 948-954 main(int argc, /* I - Number of comm Link Here
948
      * Write data as needed...
948
      * Write data as needed...
949
      */
949
      */
950
950
951
      if (con->pipe_pid && FD_ISSET(con->file, input))
951
      if (con->pipe_pid && con->file >= 0 && FD_ISSET(con->file, input))
952
      {
952
      {
953
       /*
953
       /*
954
        * Keep track of pending input from the file/pipe separately
954
        * Keep track of pending input from the file/pipe separately

Return to bug 199195