Sanitize username inputs in the database layer
[blerg.git] / database / util.c
diff --git a/database/util.c b/database/util.c
new file mode 100644 (file)
index 0000000..ede0450
--- /dev/null
@@ -0,0 +1,15 @@
+#define VALID_CHAR(x) (x == ' ' || x == '\'' || x == '-' || x == '.' || (x >= '0' && x <= '9') || (x >= 'A' && x <= 'Z') || x == '_' || (x >= 'a' && x <= 'z'))
+
+int valid_name(const char *name) {
+       int i;
+
+       for (i = 0; i < 32; i++) {
+               if (name[i] == 0) break;
+               if (!VALID_CHAR(name[i])) return 0;
+       }
+
+       if (i >= 32)
+               return 0;
+
+       return 1;
+}