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.



--------------

Best regards,


Feilong Meng


Attachment: 0001-Remove-the-redundant-assignment-in-InjectionPointAtt.patch
Description: Binary data

Reply via email to