Запитання з тегом «strncpy»

10
Чому ви повинні використовувати strncpy замість strcpy?
Редагувати: я додав джерело для прикладу. Я натрапив на такий приклад : char source[MAX] = "123456789"; char source1[MAX] = "123456789"; char destination[MAX] = "abcdefg"; char destination1[MAX] = "abcdefg"; char *return_string; int index = 5; /* This is how strcpy works */ printf("destination is originally = '%s'\n", destination); return_string = strcpy(destination, …

7
Чому strlcpy і strlcat вважаються небезпечними?
Я розумію це strlcpyі strlcatбув розроблений як безпечна заміна для strncpyі strncat. Однак деякі люди досі дотримуються думки, що вони невпевнені в собі і просто спричиняють інший тип проблем . Чи може хтось навести приклад того, як використання strlcpyабо strlcat(тобто функції, яка завжди закінчує свої рядки нулем) може призвести до …
80 c  security  strncpy  strlcpy 

11
Чому strncpy не закінчує null?
strncpy()нібито захищає від переповнення буфера. Але якщо це запобігає переповненню без нульового закінчення, швидше за все, наступна операція рядка буде переповнена. Тож для захисту від цього я роблю: strncpy( dest, src, LEN ); dest[LEN - 1] = '\0'; man strncpy дає: strncpy()Функція аналогічна, за винятком того, що не більше ніж …
76 c  strncpy 
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.