void
main(int argc, char* argv[]) {
int num;
num = 0x00;
printf("Enter a Number: ");
scanf("%d", num);
exit(0);
}
👍2
void
main(int argc, char* argv[]) {
int a = 0x00;
printf("A is -> [ %d]\n", a );
return EXIT_SUCCESS;
}
👍2
C
void
getData(char* data) {
char buffer[10] = { 0 };
strcpy(buffer, data);
printf("%s\n", buffer);
}
int
main(void) {
char data[50] = "If you are good at something never do it for free";
getData(&data[0]);
return EXIT_SUCCESS;
}
👍2
int
main(int argc, char* argv[])
{
int *ptr = (int *)malloc(sizeof(int));
*ptr = 42;
free(ptr);
printf("%d\n", *ptr);
return 0;
}
👍2
#include <stdlib.h>
int main() {
char command[100];
scanf("%s", command);
system(command);
return 0;
}
دوستان جواب همشون رو میزارم با دلیل
جواب بدید
سوال ها سطح بندی های مختلف دارن
سوال آخر تو سطح بالاتریه و نیاز به فکر بیشتر داره
کوییز های لینوکس هم گذاشته میشه حتما
موفق باشید 🪐
❤4
Kernel Kudos
What is the result ?
جواب درست اینجا میشه Segmentation Fault
بخاطر اینکه scanf انتظار داره به عنوان پارامتر دوم بهش پوینتر پاس بدید ولی خب اینجا آدرس پاس داده نشده
یعنی اومدیم مستقیم num رو دادیم به scanf
ولی خب باید به این صورت بهش متغیرمون رو میدادیم
&num
👍5
Kernel Kudos
Is this code out of Bugs ?
این کد باگ داره بخاطر اینکه برای فانکشن main اومدم void گذاشتم به عنوان return value ولی بعدش اومدم return کردم که کلا اشتباه و نشدنیه
👍3
Kernel Kudos
Is this code safe ?
اینجا خطر Buffer Overflow تهدیدتون میکنه
بخاطر اینکه هیچ توجهی به این نمیکنید که چه مقدار دارید دیتا کپی میکنید داخل buffer
اگر اون دیتا بیشتر از 10 تا کاراکتر داشته باشه Overflow میکنید.
راه حلش استفاده از strncpy به جای strcpy هست.
درواقع strcpy یک فانکشن deprecated به حساب میاد و دیگه استفاده ازش اشتباه و خطرناک به حساب میاد ( ولی همه استفاده میکنن. کی به کیه ؟! )
Kernel Kudos
Is this code safe ?
این کد امن نیست به دلیل Dangling Pointer
یعنی اومدید مموری ای که Allocate کرده بودید رو آزاد کردید با استفاده از free
بعدش سعی کردید dereferenceش کنید.
که نمیشه
👍3
Kernel Kudos
Is this code safe ?
اینجا هم پوینتر NULL رو اومدیم dereference کردیم که نمیشه و امن نیست
یا کرش میکنید یا اتفاقای بدجور میوفته
👍3