pointer comparsion undefined behavior in cJSON_SetValuestring
Maintainer thường phản hồi trong vòng 12 ngày
Chưa có ai nhận issue này.
Đánh giá
- Độ khó
- 2/5
- Thời gian dự kiến
- 1-3 giờ
- Mức phù hợp với người mới
- 68/100
Hướng nghiên cứu
Bắt đầu tại cJSON.c, ở cJSON_SetValuestring, và xem lại phép so sánh phạm vi con trỏ được nêu trong issue. Kiểm tra các bài kiểm thử của dự án cho hàm này và bổ sung kiểm thử cho các con trỏ valuestring ở những địa chỉ khác nhau; issue không nêu tên tệp kiểm thử. Công việc hoàn tất khi phép so sánh con trỏ không xác định được xử lý và các bài kiểm thử liên quan đều đạt.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
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
- Ngôn ngữ chính
- C
- Star
- 13.1k
- Fork
- 3.6k
- Chỉ số merge pull request
- Không có pull request nào được merge trong 30 ngày
Chuẩn bị môi trường
- Không có Dockerfile hay tệp Docker Compose
- Không có mẫu pull request
- Đọc hướng dẫn đóng góp
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của DaveGamble/cJSON
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 70/100
DaveGamble/cJSON#1122 ·
Maintainer thường phản hồi trong vòng 12 ngày
-
Undefined-Behavior in function cJSON_SetNumberHelperCó thể đã có người làm Có pull request liên kết đang mở hoặc đã được merge. Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 70/100
DaveGamble/cJSON#1100 · 1 reaction ·
Maintainer thường phản hồi trong vòng 12 ngày
-
CMake config files contain absolute install pathsCó thể đã có người làm @akashdeshmukh-git đã nhận 7 ngày trước. Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 86/100
DaveGamble/cJSON#1094 · 9 bình luận · 1 reaction ·
Maintainer thường phản hồi trong vòng 12 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 68/100
DaveGamble/cJSON#1093 ·
Maintainer thường phản hồi trong vòng 12 ngày
-
Use-after-free in cJSONUtils_ApplyPatches when a patch removes the patch arrayCó thể đã có người làm @iliasabk đã nhận 41 ngày trước. Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 82/100
DaveGamble/cJSON#1082 ·
Maintainer thường phản hồi trong vòng 12 ngày
Tất cả issue của DaveGamble/cJSON
Issue tương tự
-
GPU-UNLOCK RTX 4070 (2786) Gigabyte 1458:416C: cold boot AND warm reboot unlock, Ubuntu 26.04Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 62/100
JustAResearcher/gpu-unlock-ada#124 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 62/100
-
inflate: total_in uses plain += on c_ulong (32-bit on Windows), panics in debug for streams > 4 GiBĐang mở
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 85/100
trifectatechfoundation/zlib-rs#570 · 1 bình luận ·
-
vim.filetype.match() prefixes a URL buffer name with the cwd before passing it to filetype functionsĐang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 73/100
Maintainer thường phản hồi trong vòng 1 ngày
-
compilation errorĐang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 68/100
COVESA/dlt-daemon#925 · 1 reaction ·