Skip to content

Commit 5087e94

Browse files
drogenliederichelgeson
authored andcommitted
fix wrong use of sizeof() on char*
1 parent 91cebac commit 5087e94

3 files changed

Lines changed: 12 additions & 12 deletions

File tree

src/BlueSCSI_config.cpp

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -40,30 +40,29 @@ int getBlockSize(char *filename, int scsiId, int default_size)
4040
return default_size;
4141
}
4242

43-
int getImgDir(int scsiId, char* dirname)
43+
int getImgDir(int scsiId, char* dirname, size_t dname_len)
4444
{
4545
char section[6] = "SCSI0";
4646
section[4] = '0' + scsiId;
4747

4848
char key[] = "ImgDir";
49-
int dirlen = ini_gets(section, key, "", dirname, sizeof(dirname), CONFIGFILE);
49+
int dirlen = ini_gets(section, key, "", dirname, dname_len, CONFIGFILE);
5050
return dirlen;
5151
}
5252

5353

54-
int getImg(int scsiId, int img_index, char* filename)
54+
int getImg(int scsiId, int img_index, char* filename, size_t fname_len)
5555
{
5656
char section[6] = "SCSI0";
5757
section[4] = '0' + scsiId;
5858

5959
char key[] = "IMG0";
6060
key[3] = '0' + img_index;
61-
62-
int dirlen = ini_gets(section, key, "", filename, sizeof(filename), CONFIGFILE);
63-
return dirlen;
61+
int fnlen = ini_gets(section, key, "", filename, fname_len, CONFIGFILE);
62+
return fnlen;
6463
}
6564

6665
int getToolBoxSharedDir(char * dir_name)
6766
{
6867
return ini_gets("SCSI", "ToolBoxSharedDir", "/shared", dir_name, MAX_FILE_PATH, CONFIGFILE);
69-
}
68+
}

src/BlueSCSI_config.h

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33

44
#pragma once
55

6+
#include <string.h>
67
#include <BlueSCSI_platform.h>
78

89
// Use variables for version number
@@ -90,8 +91,8 @@
9091
*/
9192
int getBlockSize(char *filename, int scsiId, int default_size);
9293

93-
int getImgDir(int scsiId, char* dirname);
94+
int getImgDir(int scsiId, char* dirname, size_t dname_len);
9495

95-
int getImg(int scsiId, int img_index, char* filename);
96+
int getImg(int scsiId, int img_index, char* filename, size_t fname_len);
9697

9798
int getToolBoxSharedDir(char * dir_name);

src/BlueSCSI_disk.cpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -633,7 +633,7 @@ static void scsiDiskLoadConfig(int target_idx, const char *section)
633633
if (strlen(section) == 5 && strncmp(section, "SCSI", 4) == 0) // allow within target [SCSIx] blocks only
634634
{
635635
ini_gets(section, "ImgDir", "", tmp, sizeof(tmp), CONFIGFILE);
636-
getImgDir(target_idx, tmp);
636+
getImgDir(target_idx, tmp, sizeof(tmp));
637637
if (tmp[0])
638638
{
639639
log("-- SCSI", target_idx, " using image directory \'", tmp, "'");
@@ -787,7 +787,7 @@ int scsiDiskGetNextImageName(image_config_t &img, char *buf, size_t buf_len)
787787
{
788788
// image directory was found during startup
789789
char dirname[MAX_FILE_PATH];
790-
int dir_len = getImgDir(target_idx, dirname);
790+
int dir_len = getImgDir(target_idx, dirname, sizeof(dirname));
791791
if (!dir_len)
792792
{
793793
// If image_directory set but ImgDir is not look for a well known ImgDir
@@ -844,7 +844,7 @@ int scsiDiskGetNextImageName(image_config_t &img, char *buf, size_t buf_len)
844844
img.image_index = 0;
845845
}
846846

847-
int ret = getImg(target_idx, img.image_index, buf);
847+
int ret = getImg(target_idx, img.image_index, buf, buf_len);
848848
if (buf[0] != '\0')
849849
{
850850
return ret;

0 commit comments

Comments
 (0)