1 --- camwire2-2.0.0-Source/examples/cammonitor/cammonitor.c.orig 2023-07-09 10:46:29.034985838 +0200
2 +++ camwire2-2.0.0-Source/examples/cammonitor/cammonitor.c 2023-07-09 11:49:33.674482685 +0200
3 @@ -2340,20 +2340,23 @@ static void filename_framenumber(char *n
7 - size_t namelen, tokenindex;
8 + size_t namelen, tokenindex, outlen;
11 namelen = strlen(filename);
12 token = strstr(filename, FRAMENUMBER_TOKEN);
13 if (token == NULL) tokenindex = namelen;
14 else tokenindex = token - filename;
15 - strncpy(new_name, filename, tokenindex);
16 - new_name[tokenindex] = '\0';
18 + outlen = (tokenindex < MAX_FILENAME - 12) ? tokenindex : (MAX_FILENAME - 12);
19 + memcpy(new_name, filename, outlen);
20 + new_name[outlen] = '\0';
23 if (!strip) sprintf(&new_name[tokenindex], "%011ld", frameno);
24 tokenindex += strlen(FRAMENUMBER_TOKEN);
26 + if (tokenindex + strlen(filename + tokenindex) + 1 <= MAX_FILENAME)
27 strcat(new_name, &filename[tokenindex]);
30 @@ -2817,7 +2820,8 @@ static void settings_load(const Camwire_
31 set->save_num_images = new_settings.save_num_images;
32 set->save_delay = new_settings.save_delay;
33 strncpy(set->imagefilename, new_settings.imagefilename,
36 + set->imagefilename[MAX_FILENAME-1] = '\0';
40 --- camwire2-2.0.0-Source/camwire/camwire.c.orig 2015-05-21 23:38:31.000000000 +0200
41 +++ camwire2-2.0.0-Source/camwire/camwire.c 2023-07-09 12:05:54.227004109 +0200
42 @@ -3355,6 +3355,7 @@ static FILE * open_named_conf_file(const
45 strncat(conffilename, filename, CAMWIRE_ID_MAX_CHARS);
46 + conffilename[CAMWIRE_ID_MAX_CHARS] = '\n';
47 strncat(conffilename, CONFFILE_EXTENSION,
48 CONFFILE_EXTENSION_MAX_CHARS);
49 return fopen(conffilename, "r");