freetype-commit
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[freetype2-demos] master 9ec6f0a 1/6: * src/*: Replace simple usage of `


From: Werner LEMBERG
Subject: [freetype2-demos] master 9ec6f0a 1/6: * src/*: Replace simple usage of `sprintf' with `snprintf'.
Date: Fri, 24 Jul 2020 10:16:49 -0400 (EDT)

branch: master
commit 9ec6f0acae530fab5e0e792f65fd06fc0513a9b9
Author: David Turner <david@freetype.org>
Commit: Werner Lemberg <wl@gnu.org>

    * src/*: Replace simple usage of `sprintf' with `snprintf'.
    
    Recent gcc compiler versions produce warnings for potentially unsafe
    functions like `sprintf'.
---
 ChangeLog      |  7 +++++
 src/ftbench.c  | 32 ++++++++++-----------
 src/ftdiff.c   | 73 ++++++++++++++++++++++++------------------------
 src/ftdump.c   |  4 +--
 src/ftgamma.c  |  4 +--
 src/ftgrid.c   | 49 ++++++++++++++++++--------------
 src/ftmulti.c  | 13 +++++----
 src/ftsbit.c   |  2 +-
 src/ftstring.c |  9 +++---
 src/ftview.c   | 88 +++++++++++++++++++++++++++++-----------------------------
 src/ttdebug.c  | 16 ++++++-----
 11 files changed, 159 insertions(+), 138 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index e225105..d67c1a3 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2020-07-24  David Turner  <david@freetype.org>
+
+       * src/*: Replace simple usage of `sprintf' with `snprintf'.
+
+       Recent gcc compiler versions produce warnings for potentially unsafe
+       functions like `sprintf'.
+
 2020-07-06  Werner Lemberg  <wl@gnu.org>
 
        Synchronize with recent FreeType changes.
diff --git a/src/ftbench.c b/src/ftbench.c
index 58a7741..313f351 100644
--- a/src/ftbench.c
+++ b/src/ftbench.c
@@ -835,27 +835,27 @@
 
     /* we expect that at least one interpreter version is available */
     if ( num_tt_interpreter_versions == 2 )
-      sprintf(interpreter_versions,
-              "%d and %d",
-              tt_interpreter_versions[0],
-              tt_interpreter_versions[1] );
+      snprintf( interpreter_versions, sizeof ( interpreter_versions ),
+                "%d and %d",
+                tt_interpreter_versions[0],
+                tt_interpreter_versions[1] );
     else
-      sprintf(interpreter_versions,
-              "%d, %d, and %d",
-              tt_interpreter_versions[0],
-              tt_interpreter_versions[1],
-              tt_interpreter_versions[2] );
+      snprintf( interpreter_versions, sizeof ( interpreter_versions ),
+                "%d, %d, and %d",
+                tt_interpreter_versions[0],
+                tt_interpreter_versions[1],
+                tt_interpreter_versions[2] );
 
     /* we expect that at least one hinting engine is available */
     if ( num_ps_hinting_engines == 1 )
-      sprintf(hinting_engines,
-              "`%s'",
-              ps_hinting_engine_names[ps_hinting_engines[0]] );
+      snprintf( hinting_engines, sizeof ( hinting_engines ),
+                "`%s'",
+                ps_hinting_engine_names[ps_hinting_engines[0]] );
     else
-      sprintf(hinting_engines,
-              "`%s' and `%s'",
-              ps_hinting_engine_names[ps_hinting_engines[0]],
-              ps_hinting_engine_names[ps_hinting_engines[1]] );
+      snprintf( hinting_engines, sizeof ( hinting_engines ),
+                "`%s' and `%s'",
+                ps_hinting_engine_names[ps_hinting_engines[0]],
+                ps_hinting_engine_names[ps_hinting_engines[1]] );
 
 
     fprintf( stderr,
diff --git a/src/ftdiff.c b/src/ftdiff.c
index 69ae197..59c68fe 100644
--- a/src/ftdiff.c
+++ b/src/ftdiff.c
@@ -876,8 +876,8 @@
       else if ( rmode == HINT_MODE_AUTOHINT )
         extra = warping ? " (+warp)" : " (-warp)";
 
-      sprintf( temp, "%s%s",
-               render_mode_names[column->hint_mode], extra );
+      snprintf( temp, sizeof ( temp ), "%s%s",
+                render_mode_names[column->hint_mode], extra );
       state->display.disp_text( disp, left,
                                 bottom + 5, temp );
 
@@ -896,19 +896,19 @@
           unsigned char*  fw  = column->filter_weights;
 
 
-          sprintf( temp,
-                   "%s0x%02X%s0x%02X%s0x%02X%s0x%02X%s0x%02X%s",
-                   fwi == 0 ? "[" : " ",
-                     fw[0],
-                   fwi == 0 ? "]" : ( fwi == 1 ? "[" : " " ),
-                     fw[1],
-                   fwi == 1 ? "]" : ( fwi == 2 ? "[" : " " ),
-                     fw[2],
-                   fwi == 2 ? "]" : ( fwi == 3 ? "[" : " " ),
-                     fw[3],
-                   fwi == 3 ? "]" : ( fwi == 4 ? "[" : " " ),
-                     fw[4],
-                   fwi == 4 ? "]" : " " );
+          snprintf( temp, sizeof ( temp ),
+                    "%s0x%02X%s0x%02X%s0x%02X%s0x%02X%s0x%02X%s",
+                    fwi == 0 ? "[" : " ",
+                      fw[0],
+                    fwi == 0 ? "]" : ( fwi == 1 ? "[" : " " ),
+                      fw[1],
+                    fwi == 1 ? "]" : ( fwi == 2 ? "[" : " " ),
+                      fw[2],
+                    fwi == 2 ? "]" : ( fwi == 3 ? "[" : " " ),
+                      fw[3],
+                    fwi == 3 ? "]" : ( fwi == 4 ? "[" : " " ),
+                      fw[4],
+                    fwi == 4 ? "]" : " " );
           state->display.disp_text( disp, left,
                                     bottom + 2 * HEADER_HEIGHT + 5, temp );
         }
@@ -939,13 +939,13 @@
                                   bottom + 2 * HEADER_HEIGHT + 5, msg );
       }
 
-      sprintf( temp, "%s %s %s",
-               column->use_kerning ? "+kern"
-                                   : "-kern",
-               column->use_deltas ? "+delta"
-                                  : "-delta",
-               column->use_cboxes ? "glyph boxes"
-                                  : "adv. widths" );
+      snprintf( temp, sizeof ( temp ), "%s %s %s",
+                column->use_kerning ? "+kern"
+                                    : "-kern",
+                column->use_deltas ? "+delta"
+                                   : "-delta",
+                column->use_cboxes ? "glyph boxes"
+                                   : "adv. widths" );
       state->display.disp_text( disp, left,
                                 bottom + 3 * HEADER_HEIGHT + 5, temp );
 
@@ -1143,7 +1143,7 @@
     FT_Library_Version( state->library, &major, &minor, &patch );
 
     format = patch ? "%d.%d.%d" : "%d.%d";
-    sprintf( version, format, major, minor, patch );
+    snprintf( version, sizeof ( version ), format, major, minor, patch );
 
     adisplay_clear( display );
     grSetLineHeight( 10 );
@@ -1151,9 +1151,10 @@
     grSetMargin( 2, 1 );
     grGotobitmap( display->bitmap );
 
-    sprintf( buf,
-             "FreeType Hinting Mode Comparator - part of the FreeType %s test 
suite",
-             version );
+    snprintf( buf, sizeof ( buf ),
+              "FreeType Hinting Mode Comparator -"
+                " part of the FreeType %s test suite",
+              version );
 
     grWriteln( buf );
     grLn();
@@ -1479,20 +1480,20 @@
 
 
     basename = ft_basename( state->filename );
-    sprintf( buf, "%.50s %.50s (file `%.100s')",
-                  face->family_name,
-                  face->style_name,
-                  basename );
+    snprintf( buf, sizeof ( buf ), "%.50s %.50s (file `%.100s')",
+              face->family_name,
+              face->style_name,
+              basename );
     grWriteCellString( adisplay->bitmap, 0, 5,
                        buf, adisplay->fore_color );
 
     if ( adisplay->gamma != 0.0 )
-      sprintf( gamma, "%.1f", adisplay->gamma );
-    sprintf( buf, "%.1fpt (%dppem) at %ddpi, gamma: %s",
-                  state->char_size,
-                  (int)(state->char_size * state->resolution / 72 + 0.5),
-                  state->resolution,
-                  gamma );
+      snprintf( gamma, sizeof ( gamma ), "%.1f", adisplay->gamma );
+    snprintf( buf, sizeof ( buf ), "%.1fpt (%dppem) at %ddpi, gamma: %s",
+              state->char_size,
+              (int)( state->char_size * state->resolution / 72 + 0.5 ),
+              state->resolution,
+              gamma );
     grWriteCellString( adisplay->bitmap, 0, 5 + HEADER_HEIGHT,
                        buf, adisplay->fore_color );
 
diff --git a/src/ftdump.c b/src/ftdump.c
index b87955b..00ddd3c 100644
--- a/src/ftdump.c
+++ b/src/ftdump.c
@@ -118,7 +118,7 @@
     if ( left <= 0 )
       left = 1;
 
-    sprintf( result, "   %s:%*s", name, left, " " );
+    snprintf( result, sizeof ( result ), "   %s:%*s", name, left, " " );
 
     return result;
   }
@@ -865,7 +865,7 @@
         continue;
       }
 
-      sprintf( tag, "%04hx", i );
+      snprintf( tag, sizeof ( tag ), "%04hx", i );
       printf( "\nglyf program %hd (%.4s)", i, tag );
       Print_Bytecode( buffer + loc, len, tag );
 
diff --git a/src/ftgamma.c b/src/ftgamma.c
index 8392e32..de75687 100644
--- a/src/ftgamma.c
+++ b/src/ftgamma.c
@@ -241,7 +241,7 @@
       int     nx;
 
 
-      sprintf( temp, "%.1f", ggamma );
+      snprintf( temp, sizeof ( temp ), "%.1f", ggamma );
       grWriteCellString( display->bitmap, x_0 - 32, y + ( yside - 6 ) / 2,
                          temp, display->fore_color );
 
@@ -420,7 +420,7 @@
 
       for ( i = 0; i <= 10; i++ )
       {
-        sprintf( buf, "%.1f", 1. + .2 * i );
+        snprintf( buf, sizeof ( buf ), "%.1f", 1. + .2 * i );
         grWriteCellString( display->bitmap, x - 311 + i * 60, y + 155,
                            buf, display->fore_color );
       }
diff --git a/src/ftgrid.c b/src/ftgrid.c
index 3313e79..455f295 100644
--- a/src/ftgrid.c
+++ b/src/ftgrid.c
@@ -887,9 +887,10 @@
     grSetMargin( 2, 1 );
     grGotobitmap( display->bitmap );
 
-    sprintf( buf,
-            "FreeType Glyph Grid Viewer - part of the FreeType %s test suite",
-             version );
+    snprintf( buf, sizeof ( buf ),
+             "FreeType Glyph Grid Viewer -"
+               " part of the FreeType %s test suite",
+              version );
 
     grWriteln( buf );
     grLn();
@@ -1114,10 +1115,10 @@
       event_font_change( 0 );
     }
 
-    sprintf( status.header_buffer,
-             "TrueType engine changed to version %d",
-             status.tt_interpreter_versions[
-               status.tt_interpreter_version_idx]);
+    snprintf( status.header_buffer, sizeof ( status.header_buffer ),
+              "TrueType engine changed to version %d",
+              status.tt_interpreter_versions[
+                status.tt_interpreter_version_idx] );
 
     status.header = (const char *)status.header_buffer;
   }
@@ -1185,7 +1186,8 @@
     if ( status.scale == scale_old && zoom > 1.0 )
       status.scale++;
 
-    sprintf( status.header_buffer, "zoom scale %d:1", status.scale );
+    snprintf( status.header_buffer, sizeof ( status.header_buffer ),
+              "zoom scale %d:1", status.scale );
 
     status.header = (const char *)status.header_buffer;
   }
@@ -1235,8 +1237,9 @@
       event_font_change( 0 );
     }
 
-    sprintf( status.header_buffer, "rendering mode changed to %s",
-             lcd_mode );
+    snprintf( status.header_buffer, sizeof ( status.header_buffer ),
+              "rendering mode changed to %s",
+              lcd_mode );
 
     status.header = (const char *)status.header_buffer;
 
@@ -1286,8 +1289,9 @@
         break;
       }
 
-      sprintf( status.header_buffer, "LCD filter changed to %s",
-               lcd_filter );
+      snprintf( status.header_buffer, sizeof ( status.header_buffer ),
+                "LCD filter changed to %s",
+                lcd_filter );
 
       status.header = (const char *)status.header_buffer;
 
@@ -1548,9 +1552,10 @@
               event_font_change( 0 );
             }
 
-            sprintf( status.header_buffer, "CFF engine changed to %s",
-                     status.cff_hinting_engine == FT_HINTING_FREETYPE
-                       ? "FreeType" : "Adobe" );
+            snprintf( status.header_buffer, sizeof ( status.header_buffer ),
+                      "CFF engine changed to %s",
+                      status.cff_hinting_engine == FT_HINTING_FREETYPE
+                        ? "FreeType" : "Adobe" );
 
             status.header = (const char *)status.header_buffer;
           }
@@ -1568,9 +1573,10 @@
               event_font_change( 0 );
             }
 
-            sprintf( status.header_buffer, "Type 1 engine changed to %s",
-                     status.type1_hinting_engine == FT_HINTING_FREETYPE
-                       ? "FreeType" : "Adobe" );
+            snprintf( status.header_buffer, sizeof ( status.header_buffer ),
+                      "Type 1 engine changed to %s",
+                      status.type1_hinting_engine == FT_HINTING_FREETYPE
+                        ? "FreeType" : "Adobe" );
 
             status.header = (const char *)status.header_buffer;
           }
@@ -1588,9 +1594,10 @@
               event_font_change( 0 );
             }
 
-            sprintf( status.header_buffer, "CID engine changed to %s",
-                     status.t1cid_hinting_engine == FT_HINTING_FREETYPE
-                       ? "FreeType" : "Adobe" );
+            snprintf( status.header_buffer, sizeof ( status.header_buffer ),
+                      "CID engine changed to %s",
+                      status.t1cid_hinting_engine == FT_HINTING_FREETYPE
+                        ? "FreeType" : "Adobe" );
 
             status.header = (const char *)status.header_buffer;
           }
diff --git a/src/ftmulti.c b/src/ftmulti.c
index 1562645..5a3cf38 100644
--- a/src/ftmulti.c
+++ b/src/ftmulti.c
@@ -525,9 +525,11 @@
     FT_Library_Version( library, &major, &minor, &patch );
 
     if ( patch )
-      sprintf( version, "%d.%d.%d", major, minor, patch );
+      snprintf( version, sizeof ( version ),
+                "%d.%d.%d", major, minor, patch );
     else
-      sprintf( version, "%d.%d", major, minor );
+      snprintf( version, sizeof ( version ),
+                "%d.%d", major, minor );
 
     Clear_Display();
     grSetLineHeight( 10 );
@@ -535,9 +537,10 @@
     grSetMargin( 2, 1 );
     grGotobitmap( bit );
 
-    sprintf( buf,
-             "FreeType MM Glyph Viewer - part of the FreeType %s test suite",
-             version );
+    snprintf( buf, sizeof ( buf ),
+              "FreeType MM Glyph Viewer -"
+                " part of the FreeType %s test suite",
+              version );
 
     grWriteln( buf );
     grLn();
diff --git a/src/ftsbit.c b/src/ftsbit.c
index 0f71ca5..9ce885d 100644
--- a/src/ftsbit.c
+++ b/src/ftsbit.c
@@ -40,7 +40,7 @@
   {
     static char  temp[32];
 
-    sprintf( temp, "0x%04lx", error );
+    snprintf( temp, sizeof ( temp ), "0x%04lx", error );
     return temp;
   }
 
diff --git a/src/ftstring.c b/src/ftstring.c
index 9e42e67..65d495d 100644
--- a/src/ftstring.c
+++ b/src/ftstring.c
@@ -249,9 +249,9 @@
     grSetMargin( 2, 1 );
     grGotobitmap( display->bitmap );
 
-    sprintf( buf,
-             "FreeType String Viewer - part of the FreeType %s test suite",
-             version );
+    snprintf( buf, sizeof ( buf ),
+              "FreeType String Viewer - part of the FreeType %s test suite",
+              version );
 
     grWriteln( buf );
     grLn();
@@ -402,7 +402,8 @@
       lcd_mode = " monochrome";
     }
 
-    sprintf( status.header_buffer, "mode changed to %s", lcd_mode );
+    snprintf( status.header_buffer, sizeof ( status.header_buffer ),
+              "mode changed to %s", lcd_mode );
     status.header = status.header_buffer;
   }
 
diff --git a/src/ftview.c b/src/ftview.c
index 0d5e249..d794650 100644
--- a/src/ftview.c
+++ b/src/ftview.c
@@ -806,9 +806,9 @@
     grSetMargin( 2, 1 );
     grGotobitmap( display->bitmap );
 
-    sprintf( buf,
-             "FreeType Glyph Viewer - part of the FreeType %s test suite",
-             version );
+    snprintf( buf, sizeof ( buf ),
+              "FreeType Glyph Viewer - part of the FreeType %s test suite",
+              version );
 
     grWriteln( buf );
     grLn();
@@ -1525,9 +1525,9 @@
         render_mode = "waterfall";
         break;
       }
-      sprintf( buf, "%d: %s",
-                    status.render_mode + 1,
-                    render_mode );
+      snprintf( buf, sizeof ( buf ), "%d: %s",
+                status.render_mode + 1,
+                render_mode );
       grWriteCellString( display->bitmap, 0, (line++) * HEADER_HEIGHT,
                          buf, display->fore_color );
     }
@@ -1535,20 +1535,20 @@
     if ( status.render_mode == RENDER_MODE_FANCY )
     {
       /* x emboldening */
-      sprintf( buf, " x: % .3f",
-                    status.xbold_factor );
+      snprintf( buf, sizeof ( buf ), " x: % .3f",
+                status.xbold_factor );
       grWriteCellString( display->bitmap, 0, (line++) * HEADER_HEIGHT,
                          buf, display->fore_color );
 
       /* y emboldening */
-      sprintf( buf, " y: % .3f",
-                    status.ybold_factor );
+      snprintf( buf, sizeof ( buf ), " y: % .3f",
+                status.ybold_factor );
       grWriteCellString( display->bitmap, 0, (line++) * HEADER_HEIGHT,
                          buf, display->fore_color );
 
       /* slanting */
-      sprintf( buf, " s: % .3f",
-                    status.slant );
+      snprintf( buf, sizeof ( buf ), " s: % .3f",
+                status.slant );
       grWriteCellString( display->bitmap, 0, (line++) * HEADER_HEIGHT,
                          buf, display->fore_color );
     }
@@ -1556,8 +1556,8 @@
     if ( status.render_mode == RENDER_MODE_STROKE )
     {
       /* stroking radius */
-      sprintf( buf, " radius: %.3f",
-                    status.radius );
+      snprintf( buf, sizeof ( buf ), " radius: %.3f",
+                status.radius );
       grWriteCellString( display->bitmap, 0, (line++) * HEADER_HEIGHT,
                          buf, display->fore_color );
     }
@@ -1598,17 +1598,17 @@
     }
 
     /* hinting */
-    sprintf( buf, "hinting: %s",
-                  handle->hinted ? "on" : "off" );
+    snprintf( buf, sizeof ( buf ), "hinting: %s",
+              handle->hinted ? "on" : "off" );
     grWriteCellString( display->bitmap, 0, (line++) * HEADER_HEIGHT,
                        buf, display->fore_color );
 
     if ( handle->hinted )
     {
       /* auto-hinting */
-      sprintf( buf, " forced auto: %s",
-                    ( handle->autohint                   ||
-                      handle->lcd_mode == LCD_MODE_LIGHT ) ? "on" : "off" );
+      snprintf( buf, sizeof( buf ), " forced auto: %s",
+                ( handle->autohint                   ||
+                  handle->lcd_mode == LCD_MODE_LIGHT ) ? "on" : "off" );
       grWriteCellString( display->bitmap, 0, (line++) * HEADER_HEIGHT,
                          buf, display->fore_color );
     }
@@ -1681,8 +1681,8 @@
 
       if ( hinting_engine )
       {
-        sprintf( buf, "engine: %s",
-                      hinting_engine );
+        snprintf( buf, sizeof ( buf ), "engine: %s",
+                  hinting_engine );
         grWriteCellString( display->bitmap, 0, (line++) * HEADER_HEIGHT,
                            buf, display->fore_color );
       }
@@ -1690,8 +1690,8 @@
 
     if ( handle->lcd_mode == LCD_MODE_AA && handle->autohint )
     {
-      sprintf( buf, "warping: %s",
-                    status.warping ? "on" : "off" );
+      snprintf( buf, sizeof ( buf ), "warping: %s",
+                status.warping ? "on" : "off" );
       grWriteCellString( display->bitmap, 0, (line++) * HEADER_HEIGHT,
                          buf, display->fore_color );
     }
@@ -1699,39 +1699,39 @@
     line++;
 
     /* embedded bitmaps */
-    sprintf( buf, "bitmaps: %s",
-                  handle->use_sbits ? "on" : "off" );
+    snprintf( buf, sizeof ( buf ), "bitmaps: %s",
+              handle->use_sbits ? "on" : "off" );
     grWriteCellString( display->bitmap, 0, (line++) * HEADER_HEIGHT,
                        buf, display->fore_color );
 
     if ( FT_HAS_COLOR( face ) )
     {
-      sprintf( buf, "color:" );
+      snprintf( buf, sizeof ( buf ), "color:" );
       grWriteCellString( display->bitmap, 0, (line++) * HEADER_HEIGHT,
                          buf, display->fore_color );
 
       /* color bitmaps */
-      sprintf( buf, "  bitmaps: %s",
-                    handle->use_color ? "on" : "off" );
+      snprintf( buf, sizeof ( buf ), "  bitmaps: %s",
+                handle->use_color ? "on" : "off" );
       grWriteCellString( display->bitmap, 0, (line++) * HEADER_HEIGHT,
                          buf, display->fore_color );
 
       /* color-layered glyphs */
-      sprintf( buf, "  outlines: %s",
-                    handle->use_layers ? "on" : "off" );
+      snprintf( buf, sizeof ( buf ), "  outlines: %s",
+                handle->use_layers ? "on" : "off" );
       grWriteCellString( display->bitmap, 0, (line++) * HEADER_HEIGHT,
                          buf, display->fore_color );
 
       /* color palette */
-      sprintf( buf, "  palette idx: %d",
-                    handle->current_font->palette_index );
+      snprintf( buf, sizeof ( buf ), "  palette idx: %d",
+                handle->current_font->palette_index );
       grWriteCellString( display->bitmap, 0, (line++) * HEADER_HEIGHT,
                          buf, display->fore_color );
     }
 
     /* cache */
-    sprintf( buf, "cache: %s",
-                  handle->use_sbits_cache ? "on" : "off" );
+    snprintf( buf, sizeof ( buf ), "cache: %s",
+              handle->use_sbits_cache ? "on" : "off" );
     grWriteCellString( display->bitmap, 0, (line++) * HEADER_HEIGHT,
                        buf, display->fore_color );
 
@@ -1742,11 +1742,11 @@
                          FT_Err_Unimplemented_Feature    &&
          handle->lcd_mode >= LCD_MODE_RGB                )
     {
-      sprintf( buf, "filter: %s",
-                    status.lcd_filter == 0 ? "none" :
-                    status.lcd_filter == 1 ? "default" :
-                    status.lcd_filter == 2 ? "light" :
-                    status.lcd_filter == 3 ? "legacy" : "custom" );
+      snprintf( buf, sizeof ( buf ), "filter: %s",
+                status.lcd_filter == 0 ? "none" :
+                status.lcd_filter == 1 ? "default" :
+                status.lcd_filter == 2 ? "light" :
+                status.lcd_filter == 3 ? "legacy" : "custom" );
       grWriteCellString( display->bitmap, 0, (line++) * HEADER_HEIGHT,
                          buf, display->fore_color );
 
@@ -1760,11 +1760,11 @@
 
         for ( i = 0; i < 5; i++ )
         {
-          sprintf( buf,
-                   " %s0x%02X%s",
-                   fwi == i ? "[" : " ",
-                   fw[i],
-                   fwi == i ? "]" : " " );
+          snprintf( buf, sizeof ( buf ),
+                    " %s0x%02X%s",
+                    fwi == i ? "[" : " ",
+                    fw[i],
+                    fwi == i ? "]" : " " );
           grWriteCellString( display->bitmap, 0, (line++) * HEADER_HEIGHT,
                              buf, display->fore_color );
         }
diff --git a/src/ttdebug.c b/src/ttdebug.c
index 7af1bfe..e73338b 100644
--- a/src/ttdebug.c
+++ b/src/ttdebug.c
@@ -2817,14 +2817,16 @@
 
     /* we expect that at least one interpreter version is available */
     if ( num_tt_interpreter_versions == 2 )
-      sprintf(versions, "%d and %d",
-                        tt_interpreter_versions[0],
-                        tt_interpreter_versions[1] );
+      snprintf( versions, sizeof ( versions ),
+                "%d and %d",
+                tt_interpreter_versions[0],
+                tt_interpreter_versions[1] );
     else
-      sprintf(versions, "%d, %d, and %d",
-                        tt_interpreter_versions[0],
-                        tt_interpreter_versions[1],
-                        tt_interpreter_versions[2] );
+      snprintf( versions, sizeof ( versions ),
+                "%d, %d, and %d",
+                tt_interpreter_versions[0],
+                tt_interpreter_versions[1],
+                tt_interpreter_versions[2] );
 
     fprintf( stderr,
       "\n"



reply via email to

[Prev in Thread] Current Thread [Next in Thread]