From dc1f721e6630e39caf0f2a28ac2e699e2fc74ab0 Mon Sep 17 00:00:00 2001 From: Zi Zhou Date: Wed, 1 Mar 2017 17:37:47 -0800 Subject: [PATCH] add buffer size for make_printable__() --- packages/base/any/onlp/src/sff/module/src/sff.c | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/packages/base/any/onlp/src/sff/module/src/sff.c b/packages/base/any/onlp/src/sff/module/src/sff.c index 52c08a21..bf7eabd7 100644 --- a/packages/base/any/onlp/src/sff/module/src/sff.c +++ b/packages/base/any/onlp/src/sff/module/src/sff.c @@ -325,13 +325,14 @@ sff_module_caps_get(sff_module_type_t mt, uint32_t *caps) } static void -make_printable__(char* string) +make_printable__(char* string, int size) { char* p; - for(p = string; p && *p; p++) { + for(p = string; p && *p & size; p++) { if(!isprint(*p)) { *p = '?'; } + size --; } } @@ -407,21 +408,21 @@ sff_eeprom_parse(sff_eeprom_t* se, uint8_t* eeprom) const char *empty = " "; if (*vendor) { aim_strlcpy(se->info.vendor, (char*)vendor, sizeof(se->info.vendor)); - make_printable__(se->info.vendor); + make_printable__(se->info.vendor, sizeof(se->info.vendor)); } else { aim_strlcpy(se->info.vendor, empty, 17); } if (*model) { aim_strlcpy(se->info.model, (char*)model, sizeof(se->info.model)); - make_printable__(se->info.model); + make_printable__(se->info.model, sizeof(se->info.model)); } else { aim_strlcpy(se->info.model, empty, 17); } if (*serial) { aim_strlcpy(se->info.serial, (char*)serial, sizeof(se->info.serial)); - make_printable__(se->info.serial); + make_printable__(se->info.serial, sizeof(se->info.serial)); } else { aim_strlcpy(se->info.serial, empty, 17);