Skip to content

Commit

Permalink
ä31: Misc
Browse files Browse the repository at this point in the history
  • Loading branch information
mcdope committed Jan 7, 2024
1 parent e198f0e commit 6a30c3d
Show file tree
Hide file tree
Showing 2 changed files with 21 additions and 6 deletions.
17 changes: 16 additions & 1 deletion src/conf.c
Original file line number Diff line number Diff line change
Expand Up @@ -193,12 +193,17 @@ int pusb_conf_parse(
log_error("No authentication device(s) configured for user \"%s\".\n", user);
xmlFreeDoc(doc);
xmlCleanupParser();

for (int currentDevice = 0; currentDevice < 10; currentDevice++)
{
xfree(device_list[currentDevice]);
}
return (0);
}

for (int currentDevice = 0; currentDevice < 10; currentDevice++)
{
log_error("DBG: currentDevice: %d, strnlen: %d, value: %s\n", currentDevice, strnlen(device_list[currentDevice], 128), device_list[currentDevice]);
log_error("DBG: currentDevice: %d, strnlen: %d, value: %s\n", currentDevice, (int) strnlen(device_list[currentDevice], 128), device_list[currentDevice]);
if (device_list[currentDevice] == NULL || strnlen(device_list[currentDevice], 128) == 0)
{
continue;
Expand All @@ -215,9 +220,19 @@ int pusb_conf_parse(
{
xmlFreeDoc(doc);
xmlCleanupParser();

for (int currentDevice = 0; currentDevice < 10; currentDevice++)
{
xfree(device_list[currentDevice]);
}
return (0);
}
xmlFreeDoc(doc);
xmlCleanupParser();

for (int currentDevice = 0; currentDevice < 10; currentDevice++)
{
xfree(device_list[currentDevice]);
}
return (1);
}
10 changes: 5 additions & 5 deletions src/device.c
Original file line number Diff line number Diff line change
Expand Up @@ -64,11 +64,11 @@ static int pusb_device_connected(t_pusb_options *opts, UDisksClient *udisks)

g_object_unref(drive);
if (retval) {
strncpy(opts->device.name, opts->device_list[currentDevice].name, sizeof(opts->device_list[currentDevice].name));
strncpy(opts->device.vendor, opts->device_list[currentDevice].vendor, sizeof(opts->device_list[currentDevice].vendor));
strncpy(opts->device.model, opts->device_list[currentDevice].model, sizeof(opts->device_list[currentDevice].model));
strncpy(opts->device.serial, opts->device_list[currentDevice].serial, sizeof(opts->device_list[currentDevice].serial));
strncpy(opts->device.volume_uuid, opts->device_list[currentDevice].volume_uuid, sizeof(opts->device_list[currentDevice].volume_uuid));
strcpy(opts->device.name, opts->device_list[currentDevice].name);

Check failure

Code scanning / devskim

strcpy is frequently dangerous, as it will cause a buffer overflow if the source is larger than the destination. Error

Banned C function detected (strcpy)
strcpy(opts->device.vendor, opts->device_list[currentDevice].vendor, sizeof(opts->device_list[currentDevice].vendor));
strcpy(opts->device.model, opts->device_list[currentDevice].model, sizeof(opts->device_list[currentDevice].model));
strcpy(opts->device.serial, opts->device_list[currentDevice].serial, sizeof(opts->device_list[currentDevice].serial));
strcpy(opts->device.volume_uuid, opts->device_list[currentDevice].volume_uuid, sizeof(opts->device_list[currentDevice].volume_uuid));
currentDevice = 11;
break;
}
Expand Down

0 comments on commit 6a30c3d

Please sign in to comment.