From 2ffd4e4f1af16b17a286ff354603a717f5d828a5 Mon Sep 17 00:00:00 2001 From: ManoloFLTK <41016272+ManoloFLTK@users.noreply.github.com> Date: Mon, 26 Sep 2022 16:12:18 +0200 Subject: Replace all calls to sprintf() by calls to snprintf(). --- src/Fl_Pixmap.cxx | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) (limited to 'src/Fl_Pixmap.cxx') diff --git a/src/Fl_Pixmap.cxx b/src/Fl_Pixmap.cxx index e8725102a..2b59a86ad 100644 --- a/src/Fl_Pixmap.cxx +++ b/src/Fl_Pixmap.cxx @@ -160,7 +160,7 @@ Fl_Image *Fl_Pixmap::copy(int W, int H) const { sscanf(data()[0],"%*d%*d%d%d", &ncolors, &chars_per_pixel); chars_per_line = chars_per_pixel * W + 1; - sprintf(new_info, "%d %d %d %d", W, H, ncolors, chars_per_pixel); + snprintf(new_info, sizeof(new_info), "%d %d %d %d", W, H, ncolors, chars_per_pixel); // Figure out Bresenham step/modulus values... xmod = data_w() % W; @@ -285,10 +285,12 @@ void Fl_Pixmap::color_average(Fl_Color c, float i) { g = (ia * g + ig) >> 8; b = (ia * b + ib) >> 8; - if (chars_per_pixel > 1) sprintf(line, "%c%c c #%02X%02X%02X", + if (chars_per_pixel > 1) snprintf(line, sizeof(line), + "%c%c c #%02X%02X%02X", data()[color + 1][0], data()[color + 1][1], r, g, b); - else sprintf(line, "%c c #%02X%02X%02X", data()[color + 1][0], r, g, b); + else snprintf(line, sizeof(line), "%c c #%02X%02X%02X", + data()[color + 1][0], r, g, b); delete[] (char *)data()[color + 1]; ((char **)data())[color + 1] = new char[strlen(line) + 1]; @@ -361,10 +363,13 @@ void Fl_Pixmap::desaturate() { if (fl_parse_color(p, r, g, b)) { g = (uchar)((r * 31 + g * 61 + b * 8) / 100); - if (chars_per_pixel > 1) sprintf(line, "%c%c c #%02X%02X%02X", data()[i + 1][0], - data()[i + 1][1], g, g, g); - else sprintf(line, "%c c #%02X%02X%02X", data()[i + 1][0], g, g, g); - + if (chars_per_pixel > 1) { + snprintf(line, sizeof(line), "%c%c c #%02X%02X%02X", + data()[i + 1][0], data()[i + 1][1], g, g, g); + } else { + snprintf(line, sizeof(line), "%c c #%02X%02X%02X", + data()[i + 1][0], g, g, g); + } delete[] (char *)data()[i + 1]; ((char **)data())[i + 1] = new char[strlen(line) + 1]; strcpy((char *)data()[i + 1], line); -- cgit v1.2.3