@@ -382,17 +382,19 @@ void StatsDialog::updateTop() {
382382
383383QString StatsDialog::printDump (int index) {
384384 QString msg = " " ;
385- QString str;
386385 struct tm *t = localtime (&fdns_report_->tstamp [index]);
387- str.sprintf (" %02d:%02d:%02d " , t->tm_hour , t->tm_min , t->tm_sec );
386+ char *s;
387+ if (asprintf (&s, " %02d:%02d:%02d " , t->tm_hour , t->tm_min , t->tm_sec ) == -1 )
388+ errExit (" asprintf" );
388389 if (strstr (fdns_report_->logentry [index], " dropped" )) {
389390 msg += " <font color=\" red\" >" ;
390- msg += str + fdns_report_->logentry [index];
391+ msg += QString (s) + fdns_report_->logentry [index];
391392 msg += " </font>" ;
392393 }
393394 else
394- msg += str + fdns_report_->logentry [index];
395+ msg += QString (s) + fdns_report_->logentry [index];
395396
397+ free (s);
396398 msg += " <br/>" ;
397399
398400 return msg;
@@ -437,12 +439,14 @@ void StatsDialog::updateFdnsDump() {
437439
438440 msg += " <b>Resolvers:</b><br/>" ;
439441 for (int i = 0 ; i < fdns_report_->resolvers ; i++) {
440- QString str;
441- str.sprintf (" Resolver %d: " , i);
442+ QString str= QString (" Resolver %1: " ).arg (i);
442443 msg += str;
443444 if (fdns_report_->encrypted [i]) {
444- QString str2;
445- str2.sprintf (" connected to %d.%d.%d.%d<br/>" , PRINT_IP (fdns_report_->peer_ip [i]));
445+ char *s;
446+ if (asprintf (&s, " connected to %d.%d.%d.%d<br/>" , PRINT_IP (fdns_report_->peer_ip [i])) == -1 )
447+ errExit (" asprintf" );
448+ QString str2 = s;
449+ free (s);
446450 msg += str2;
447451 }
448452 else
@@ -451,20 +455,19 @@ void StatsDialog::updateFdnsDump() {
451455 msg += " <br/>" ;
452456
453457 msg += " <b>Process:</b><br/>" ;
454- QString qs;
455- qs.sprintf (" PID: %u<br/>" , report.pid );
458+ QString qs = QString (" PID: %1<br/>" ).arg (report.pid );
456459 msg += qs;
457- qs. sprintf (" Fallback server: %s <br/>" , report.fallback );
460+ qs = QString (" Fallback server: %1 <br/>" ). arg ( report.fallback );
458461 msg += qs;
459462 if (report.disable_local_doh )
460463 msg += " DoH disabled for applications behind the proxy<br/>" ;
461464 else
462465 msg += " DoH allowed for applications behind the proxy<br/>" ;
463- qs. sprintf (" To shutdown the proxy run <b>\" sudo kill -9 %u \" </b> in a terminal<br/><br/>" , report.pid );
466+ qs = QString (" To shutdown the proxy run <b>\" sudo kill -9 %1 \" </b> in a terminal<br/><br/>" ). arg ( report.pid );
464467 msg += qs;
465468
466469 msg += " <b>Queries:</b><br/>" ;
467- qs. sprintf (" (queries cleared after %d minutes)<br/>" , report.log_timeout );
470+ qs = QString (" (queries cleared after %1 minutes)<br/>" ). arg ( report.log_timeout );
468471 msg += qs;
469472 for (int i = fdns_report_->logindex ; i < MAX_LOG_ENTRIES; i++) {
470473 if (fdns_report_->tstamp && strlen (fdns_report_->logentry [i]))
@@ -776,8 +779,7 @@ static QString get_interfaces_old(int pid) {
776779 ptr++;
777780 char *child_dev = ptr;
778781
779- QString str;
780- str.sprintf (" %s (parent device %s" , child_dev, parent_dev);
782+ QString str = QString (" %1 (parent device %2" ).arg (child_dev).arg (parent_dev);
781783
782784 // detect bridge device
783785 char *sysfile;
0 commit comments