Evitando a injeção de SQL em C
Estou escrevendo um aplicativo C que usa algumas entradas do usuário e faz algumas consultas ao banco de dados. Estou ciente dos riscos aqui da injeção de SQL e desejo evitá-la.
Ideally eu usaria consultas parametrizadas, mas até agora não consegui encontrar nada com essa funcionalidade em C. No momento, estou construindo minhas consultas como tal:
char *query;
asprintf(&query, "UPDATE SomeTable SET SomeField='%s';", userInput);
Se não conseguir fazer isso, preciso filtrar a entrada do usuário. Como essa filtragem deve ser feita? Basta remover todos os "e" s? (As entradas válidas não podem contê-los). Se sim, qual é a maneira mais fácil de fazer isso em C?