sizeof should be used on the data that will be stored, not the pointer.
Luckily the pointers are larger than the actual data, so there is no
security issue here.
Remove sizeof(char) as it is equal to 1 by the C standard.
Caught by Clang Static Analyzer.
fprintf(stderr, _("Invalid custom format string\n"));
exit(EXIT_FAILURE);
}
- parsed_custom_format = (char *)malloc(FORMAT_STRING_LEN * sizeof(char*));
- custom_format_fields = (enum field_types *)malloc(FORMAT_STRING_MAX_FIELDS * sizeof(enum field_types *));
+ parsed_custom_format = (char *)malloc(FORMAT_STRING_LEN);
+ custom_format_fields = (enum field_types *)malloc(FORMAT_STRING_MAX_FIELDS * sizeof(enum field_types));
parse_custom_format(custom_format, parsed_custom_format, custom_format_fields);
}
if(optind < argc) {
static int
custom_export_database(FILE *out, struct db_enumerator e)
{
- char *format_string =
- (char *)malloc(FORMAT_STRING_LEN * sizeof(char*));
+ char *format_string = (char *)malloc(FORMAT_STRING_LEN);
enum field_types *ft =
- (enum field_types *)malloc(FORMAT_STRING_MAX_FIELDS * sizeof(enum field_types *));
+ (enum field_types *)malloc(FORMAT_STRING_MAX_FIELDS * sizeof(enum field_types));
parse_custom_format(custom_format, format_string, ft);