Solves following bug: nvclock crashes if exist loaded module with name >= 20 characters SOLUTION: to prevent stack smashing variables 'buffer' & 'name' MUST be of same size Signed-off-by: Raimonds Cicans <ray@apollo.lv> diff -ur old/nvclock0.8b2/src/backend/back_linux.c nvclock0.8b2/src/backend/back_linux.c --- old/nvclock0.8b2/src/backend/back_linux.c 2006-01-12 23:36:47.000000000 +0200 +++ nvclock0.8b2/src/backend/back_linux.c 2006-10-30 11:54:13.000000000 +0200 @@ -43,18 +43,19 @@ static void unmap_dev_mem (unsigned long Base, unsigned long Size); /* Check if we are using the closed source Nvidia drivers */ +#define MODNAME_BUF_SIZE 80 static int check_driver() { FILE *proc; - char buffer[80]; + char buffer[MODNAME_BUF_SIZE]; proc = fopen("/proc/modules", "r"); if(proc != NULL) { - while(fgets(buffer, 80, proc) != NULL) + while(fgets(buffer, MODNAME_BUF_SIZE, proc) != NULL) { - char name[20]; + char name[MODNAME_BUF_SIZE]; int size; int used;