From: Michael R Sweet Date: Tue, 2 Nov 2021 15:23:31 +0000 (-0400) Subject: More coverity fixes. X-Git-Tag: v2.4rc1~10 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=9d246f78c6ca7e0f3c921f8d39b34c1d4955bc0f;p=thirdparty%2Fcups.git More coverity fixes. --- diff --git a/backend/ipp.c b/backend/ipp.c index 6964e4535f..c4b34668e1 100644 --- a/backend/ipp.c +++ b/backend/ipp.c @@ -2828,8 +2828,6 @@ new_request( static const char * const allowed = "0123456789#*-+.()pw"; /* Allowed characters */ - destination = ippNew(); - /* * Unescape and filter out spaces and other characters that are not * allowed in a tel: URI. @@ -2862,6 +2860,8 @@ new_request( if (strlen(phone) > 0) { + destination = ippNew(); + httpAssembleURI(HTTP_URI_CODING_ALL, tel_uri, sizeof(tel_uri), "tel", NULL, NULL, 0, phone); ippAddString(destination, IPP_TAG_JOB, IPP_TAG_URI, "destination-uri", NULL, tel_uri); fprintf(stderr, "DEBUG: Faxing to phone %s; destination-uri: %s\n", phone, tel_uri); diff --git a/cgi-bin/admin.c b/cgi-bin/admin.c index 294f5cb494..cedb1f3eb9 100644 --- a/cgi-bin/admin.c +++ b/cgi-bin/admin.c @@ -1449,52 +1449,40 @@ do_config_server(http_t *http) /* I - HTTP connection */ * Settings *have* changed, so save the changes... */ - cupsFreeOptions(num_settings, settings); - - num_settings = 0; - num_settings = cupsAddOption(CUPS_SERVER_DEBUG_LOGGING, - debug_logging, num_settings, &settings); - num_settings = cupsAddOption(CUPS_SERVER_REMOTE_ADMIN, - remote_admin, num_settings, &settings); - num_settings = cupsAddOption(CUPS_SERVER_REMOTE_ANY, - remote_any, num_settings, &settings); - num_settings = cupsAddOption(CUPS_SERVER_SHARE_PRINTERS, - share_printers, num_settings, &settings); - num_settings = cupsAddOption(CUPS_SERVER_USER_CANCEL_ANY, - user_cancel_any, num_settings, &settings); + int num_newsettings;/* New number of server settings */ + cups_option_t *newsettings; /* New server settings */ + + num_newsettings = 0; + num_newsettings = cupsAddOption(CUPS_SERVER_DEBUG_LOGGING, debug_logging, num_newsettings, &newsettings); + num_newsettings = cupsAddOption(CUPS_SERVER_REMOTE_ADMIN, remote_admin, num_newsettings, &newsettings); + num_newsettings = cupsAddOption(CUPS_SERVER_REMOTE_ANY, remote_any, num_newsettings, &newsettings); + num_newsettings = cupsAddOption(CUPS_SERVER_SHARE_PRINTERS, share_printers, num_newsettings, &newsettings); + num_newsettings = cupsAddOption(CUPS_SERVER_USER_CANCEL_ANY, user_cancel_any, num_newsettings, &newsettings); #ifdef HAVE_GSSAPI - num_settings = cupsAddOption("DefaultAuthType", default_auth_type, - num_settings, &settings); + num_newsettings = cupsAddOption("DefaultAuthType", default_auth_type, num_newsettings, &newsettings); #endif /* HAVE_GSSAPI */ if (advanced) { /* - * Add advanced settings... + * Add advanced newsettings... */ if (_cups_strcasecmp(browse_web_if, current_browse_web_if)) - num_settings = cupsAddOption("BrowseWebIF", browse_web_if, - num_settings, &settings); + num_newsettings = cupsAddOption("BrowseWebIF", browse_web_if, num_newsettings, &newsettings); if (_cups_strcasecmp(preserve_job_history, current_preserve_job_history)) - num_settings = cupsAddOption("PreserveJobHistory", - preserve_job_history, num_settings, - &settings); + num_newsettings = cupsAddOption("PreserveJobHistory", preserve_job_history, num_newsettings, &newsettings); if (_cups_strcasecmp(preserve_job_files, current_preserve_job_files)) - num_settings = cupsAddOption("PreserveJobFiles", preserve_job_files, - num_settings, &settings); + num_newsettings = cupsAddOption("PreserveJobFiles", preserve_job_files, num_newsettings, &newsettings); if (_cups_strcasecmp(max_clients, current_max_clients)) - num_settings = cupsAddOption("MaxClients", max_clients, num_settings, - &settings); + num_newsettings = cupsAddOption("MaxClients", max_clients, num_newsettings, &newsettings); if (_cups_strcasecmp(max_jobs, current_max_jobs)) - num_settings = cupsAddOption("MaxJobs", max_jobs, num_settings, - &settings); + num_newsettings = cupsAddOption("MaxJobs", max_jobs, num_newsettings, &newsettings); if (_cups_strcasecmp(max_log_size, current_max_log_size)) - num_settings = cupsAddOption("MaxLogSize", max_log_size, num_settings, - &settings); + num_newsettings = cupsAddOption("MaxLogSize", max_log_size, num_newsettings, &newsettings); } - if (!cupsAdminSetServerSettings(http, num_settings, settings)) + if (!cupsAdminSetServerSettings(http, num_newsettings, newsettings)) { if (cupsLastError() == IPP_NOT_AUTHORIZED) { @@ -1518,6 +1506,8 @@ do_config_server(http_t *http) /* I - HTTP connection */ cgiStartHTML(cgiText(_("Change Settings"))); cgiCopyTemplateLang("restart.tmpl"); } + + cupsFreeOptions(num_newsettings, newsettings); } else { diff --git a/tools/ippeveprinter.c b/tools/ippeveprinter.c index 26c3d1a20d..cf128dfbec 100644 --- a/tools/ippeveprinter.c +++ b/tools/ippeveprinter.c @@ -8333,6 +8333,8 @@ show_supplies( else html_printf(client, "\n"); + cupsFreeOptions(num_options, options); + html_footer(client); return (1);