Skip to content

Commit 9c54fd7

Browse files
committed
fix profile resizing
1 parent 84fe643 commit 9c54fd7

File tree

1 file changed

+4
-4
lines changed

1 file changed

+4
-4
lines changed

src/profiler.c

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -948,9 +948,9 @@ profiler_update_map(profiler_profile *profile, PLpgSQL_stmt *stmt)
948948
lines += 10000;
949949

950950
profile->stmts_map = repalloc(profile->stmts_map,
951-
lines * sizeof(profiler_map_entry));
951+
(lines + 1) * sizeof(profiler_map_entry));
952952

953-
for (i = profile->stmts_map_max_lineno; i < lines; i++)
953+
for (i = profile->stmts_map_max_lineno + 1; i <= lines; i++)
954954
memset(&profile->stmts_map[i], 0, sizeof(profiler_map_entry));
955955

956956
profile->stmts_map_max_lineno = lines;
@@ -1166,7 +1166,7 @@ plpgsql_check_profiler_show_profile_statements(plpgsql_check_result_info *ri,
11661166
profile->nstatements = 0;
11671167
profile->stmts_map_max_lineno = 200;
11681168

1169-
profile->stmts_map = palloc0(profile->stmts_map_max_lineno * sizeof(profiler_map_entry));
1169+
profile->stmts_map = palloc0((profile->stmts_map_max_lineno + 1) * sizeof(profiler_map_entry));
11701170

11711171
#else
11721172

@@ -1435,7 +1435,7 @@ plpgsql_check_profiler_func_init(PLpgSQL_execstate *estate, PLpgSQL_function *fu
14351435
profile->nstatements = 0;
14361436
profile->stmts_map_max_lineno = 200;
14371437

1438-
profile->stmts_map = palloc0(profile->stmts_map_max_lineno * sizeof(profiler_map_entry));
1438+
profile->stmts_map = palloc0((profile->stmts_map_max_lineno + 1) * sizeof(profiler_map_entry));
14391439

14401440
#else
14411441

0 commit comments

Comments
 (0)