-Wstringop-truncation warning in socketmodule.c getsockaddrarg() for AF_ALG salg_name
Nadie ha tomado este issue todavía.
- Lenguaje dominante
- Python
- Estrellas
- 77.2k
- Forks
- 35.9k
- Métricas de merge de PR
- Métricas de PR pendientes
Descripción
Bug report
Bug description:
Building 3.14.5 with gcc 15.2 produces this warning:
default: ./Modules/socketmodule.c: In function ‘getsockaddrarg’:
default: ./Modules/socketmodule.c:2636:9: warning: ‘strncpy’ specified bound 64 equals destination size [-Wstringop-truncation]
default: 2636 | strncpy((char *)sa->salg_name, name, sizeof(sa->salg_name));
default: | ^
Build environment: Ubuntu 26.04 LTS, gcc 15.2.0, configure with
./configure --enable-optimizations --with-lto --enable-bolt --enable-safety --enable-slower-safety --with-system-expat CXX=/usr/bin/g++ CFLAGS="-flto=auto" LDFLAGS="-flto=auto"
This looks like a false positive. I see this location reported in https://github.com/python/cpython/issues/94536 and there is a fix for a similar warning here:
https://github.com/matthiasgoergens/cpython/commit/c1fdddcf0f7b31a5954163bfd299115b1fa7799b
Would the following be a good fix that mirrors that older one?
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wstringop-truncation"
strncpy((char *)sa->salg_name, name, sizeof(sa->salg_name));
#pragma GCC diagnostic pop
CPython versions tested on:
3.14
Operating systems tested on:
Linux
Linked PRs
- gh-150022
Guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Línea de trabajo
Comienza en Modules/socketmodule.c, en el manejo de AF_ALG de getsockaddrarg(), e inspecciona la advertencia de strncpy indicada. Revisa el issue correspondiente de CPython y el PR vinculado gh-150022; después, verifica con la compilación de GCC indicada que la advertencia se ha resuelto sin cambiar el comportamiento del socket.
Escrito por el modelo de indexación a partir del texto del issue.
Evaluación
- Stack tecnológico
- c
- Área
- networking
- Tipo de issue
- Error
- Dificultad
- 2/5
- Tiempo estimado
- 1-3 horas
- Estado de actividad
- Estancado
- Claridad
- Bien especificado
- Aptitud para principiantes
- 25/100