pointer comparsion undefined behavior in cJSON_SetValuestring
Los mantenedores suelen responder en 12 días
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 2/5
- Tiempo estimado
- 1-3 horas
- Aptitud para principiantes
- 68/100
Línea de trabajo
Empieza en cJSON.c, en cJSON_SetValuestring, y revisa la comparación del rango de punteros que se muestra en el issue. Revisa los tests del proyecto para esta función y añade cobertura para punteros valuestring en direcciones distintas; el issue no indica el nombre de ningún archivo de test. El trabajo estará terminado cuando se corrija la comparación indefinida de punteros y pasen los tests pertinentes.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
A pointer comparsion undefined behavior was identified in cJSON.c , function cJSON_SetValuestring(cJSON *object, const char *valuestring)
UB Analysis:
v1_len = strlen(valuestring);
v2_len = strlen(object->valuestring);
if (v1_len <= v2_len)
{
if (!( valuestring + v1_len < object->valuestring || object->valuestring + v2_len < valuestring )) // here
{
return NULL;
}
strcpy(object->valuestring, valuestring);
return object->valuestring;
}
...
when object->valuestring and valuestring pointer to different address , this two pointer comparsion is undefined behavior
- Lenguaje dominante
- C
- Estrellas
- 13k
- Forks
- 3.5k
- Métricas de merge de PR
- Sin PR fusionados en 30 d
Preparar el entorno
- Sin Dockerfile ni archivo de Docker Compose
- Sin plantilla de pull request
- Leer la 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.
Más de DaveGamble/cJSON
-
Undefined-Behavior in function cJSON_SetNumberHelperPosiblemente ocupada Un pull request vinculado a esta issue está abierto o ya se fusionó. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 70/100
DaveGamble/cJSON#1100 · 1 reacción ·
Los mantenedores suelen responder en 12 días
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 86/100
DaveGamble/cJSON#1094 · 9 comentarios · 1 reacción ·
Los mantenedores suelen responder en 12 días
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
DaveGamble/cJSON#1093 ·
Los mantenedores suelen responder en 12 días
-
Use-after-free in cJSONUtils_ApplyPatches when a patch removes the patch arrayPosiblemente ocupada @iliasabk la tomó hace 33 días. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
DaveGamble/cJSON#1082 ·
Los mantenedores suelen responder en 12 días
-
Use-after-free in cJSON_ReplaceItemInObject when the key is the item's own namePosiblemente ocupada @iliasabk la tomó hace 34 días. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
DaveGamble/cJSON#1081 ·
Los mantenedores suelen responder en 12 días
Todos los issues de DaveGamble/cJSON
Issues similares
-
bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 76/100
valkey-io/valkey#4979 · 1 reacción ·
Los mantenedores suelen responder en 2 días
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 70/100
colbymchenry/codegraph#2770 ·
Los mantenedores suelen responder en 1 día
-
canard.c 5.0.0: static random() conflicts with newlib's random() (fails to build on ESP-IDF)Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 86/100
OpenCyphal/libcanard#264 ·
-
area/ysql kind/enhancement priority/medium status/awaiting-triage
Dificultad 2/5 1-3 horas Aptitud para principiantes 73/100
yugabyte/yugabyte-db#35578 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 66/100
Los mantenedores suelen responder en 1 día