add control character sanitization

This commit is contained in:
veneficium 2026-02-03 19:35:30 +01:00
parent 16f8d35c13
commit 9ad62f990e

22
kissy.c
View file

@ -25,6 +25,7 @@
#include <string.h> #include <string.h>
#include <pwd.h> #include <pwd.h>
#include <stdbool.h> #include <stdbool.h>
#include <ctype.h>
// mreowww meow nya :3 // mreowww meow nya :3
@ -64,12 +65,21 @@ int main (int argc, char **argv) {
char* user = pw2->pw_name; char* user = pw2->pw_name;
// if we have a second argument, set a custom kiss message // if we have a second argument, set a custom kiss message
char* kiss; char kiss[32] = "*mwah*";
if (argc >= 3) if (argc >= 3) {
kiss = argv[2]; int len = strlen(argv[2]);
else int written_chars = 0;
kiss = "*mwah*"; for (int i = 0; i < len; i++) {
if (written_chars >= 31) {
kiss[31] = '\0';
break;
};
if (iscntrl(argv[2][i])) continue;
kiss[i] = argv[2][i];
written_chars++;
}
}
bool kissed = false; bool kissed = false;
// iterate over all files in directory // iterate over all files in directory
DIR *dir = opendir("/dev/pts"); DIR *dir = opendir("/dev/pts");