Re: [PATCH]Remove the redundant assignment

Chao Li <li.evan.chao@gmail.com>

From: Chao Li <li.evan.chao@gmail.com>
To: Feilong Meng <feelingmeng@foxmail.com>
Cc: pgsql-hackers <pgsql-hackers@lists.postgresql.org>
Date: 2025-12-16T07:08:25Z
Lists: pgsql-hackers

Commits

Same data as JSON: GET /api/v1/messages/:b64id/commits the thread's linked commits as JSON, with link sources. API reference →
  1. Remove useless code in InjectionPointAttach()


> On Dec 16, 2025, at 14:18, Feilong Meng <feelingmeng@foxmail.com> wrote:
> 
> Hi,Hackers,
> 
> I found that in the InjectionPointAttach function within the src/backend/utils/misc/injection_point.c file, the variable is manually assigned a '\0' at the end, even though strlcpy already guarantees that the destination buffer will be null-terminated and will not overflow.
> 
> The code modification is as follows:
> 
> ```
> /* Save the entry */
> strlcpy(entry->name, name, sizeof(entry->name));
> entry->name[INJ_NAME_MAXLEN - 1] = '\0';  <== Delete this line
> strlcpy(entry->library, library, sizeof(entry->library));
> entry->library[INJ_LIB_MAXLEN - 1] = '\0';  <== Delete this line
> strlcpy(entry->function, function, sizeof(entry->function));
> entry->function[INJ_FUNC_MAXLEN - 1] = '\0';  <== Delete this line
> ```
> 
> And in the injection_point_cache_add function within the same file, strlcpy(entry->name, name, sizeof(entry->name)); does not perform redundant assignment.
> 
> I have tested the change, and "make check" passed.
> 

Indeed, explicitly adding a trailing '\0' is redundant here, since strlcpy() already guarantees NULL termination.

I also noticed that in the same file, another code path does not perform this extra assignment:

```
Assert(!found);
strlcpy(entry->name, name, sizeof(entry->name));
entry->slot_idx = slot_idx;
entry->generation = generation;
entry->callback = callback;
memcpy(entry->private_data, private_data, INJ_PRIVATE_MAXLEN);
```

Given that, I agree we should remove the redundant assignments to keep the code clearer and consistent.

Best regards,
--
Chao Li (Evan)
HighGo Software Co., Ltd.
https://www.highgo.com/