Skip to content

Commit a9f0169

Browse files
author
Gonzalo Diaz
committed
[REFACTOR] [Hacker Rank] Warmup: Time Conversion solved ✅. Triying to fix sonarlint detected issues.
1 parent fb24e3b commit a9f0169

File tree

1 file changed

+7
-4
lines changed

1 file changed

+7
-4
lines changed

src/lib/exercises/src/hackerrank/warmup/time_conversion.c

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -47,21 +47,24 @@ char *HACKERRANK_WARMUP_timeConversion(const char *s) {
4747
char *meridian = HACKERRANK_WARMUP_getLast(s, 2);
4848
char *hour_str = HACKERRANK_WARMUP_getFirst(s, 2);
4949

50-
char *time_str = malloc(strlen(s) + 1);
50+
size_t s_len = strlen(s);
51+
char *time_str = malloc(s_len + 1);
5152
if (time_str == NULL) {
5253
free(meridian);
5354
free(hour_str);
5455
return NULL;
5556
}
5657

57-
strcpy(time_str, s);
58+
strncpy(time_str, s, s_len + 1);
5859
char *temp_time_str;
5960
unsigned long time_str_len = strlen(time_str);
6061
temp_time_str = HACKERRANK_WARMUP_getLast(time_str, time_str_len - 2);
61-
strcpy(time_str, temp_time_str);
62+
strncpy(time_str, temp_time_str, time_str_len - 2);
63+
time_str[time_str_len - 2] = '\0';
6264
free(temp_time_str);
6365
temp_time_str = HACKERRANK_WARMUP_getFirst(time_str, time_str_len - 2);
64-
strcpy(time_str, temp_time_str);
66+
strncpy(time_str, temp_time_str, time_str_len - 2);
67+
time_str[time_str_len - 2] = '\0';
6568
free(temp_time_str);
6669

6770
char *endptr;

0 commit comments

Comments
 (0)