mirror of
https://github.com/troglobit/finit.git
synced 2026-10-18 10:59:34 +00:00
Relocate and export sanitize() function
Signed-off-by: Joachim Nilsson <troglobit@gmail.com>
This commit is contained in:
1 parent
618744cc52
commit
698f736b65
3 files changed
+26
-23
No files matched your search
@@ -22,7 +22,6 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
#include <errno.h>
|
#include <errno.h>
|
||||||
#include <ctype.h>
|
|
||||||
#include <fcntl.h>
|
#include <fcntl.h>
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
@@ -44,28 +43,6 @@
|
|||||||
|
|
||||||
uev_t api_watcher;
|
uev_t api_watcher;
|
||||||
|
|
||||||
/* Allowed characters in job/id/name */
|
|
||||||
static int isallowed(int ch)
|
|
||||||
{
|
|
||||||
return isprint(ch);
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Sanitize user input, make sure to NUL terminate. */
|
|
||||||
static char *sanitize(char *arg, size_t len)
|
|
||||||
{
|
|
||||||
size_t i = 0;
|
|
||||||
|
|
||||||
while (isallowed(arg[i]) && i < len)
|
|
||||||
i++;
|
|
||||||
|
|
||||||
if (i + 1 < len) {
|
|
||||||
arg[i + 1] = 0;
|
|
||||||
return arg;
|
|
||||||
}
|
|
||||||
|
|
||||||
return NULL;
|
|
||||||
}
|
|
||||||
|
|
||||||
static int call(int (*action)(svc_t *), char *buf, size_t len)
|
static int call(int (*action)(svc_t *), char *buf, size_t len)
|
||||||
{
|
{
|
||||||
int result = 0;
|
int result = 0;
|
||||||
|
|||||||
@@ -21,6 +21,7 @@
|
|||||||
* THE SOFTWARE.
|
* THE SOFTWARE.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
#include <ctype.h> /* isprint() */
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
#include <unistd.h>
|
#include <unistd.h>
|
||||||
|
|
||||||
@@ -43,6 +44,30 @@ void do_sleep(unsigned int sec)
|
|||||||
;
|
;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* Allowed characters in job/id/name */
|
||||||
|
static int isallowed(int ch)
|
||||||
|
{
|
||||||
|
return isprint(ch);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Sanitize user input, make sure to NUL terminate. */
|
||||||
|
char *sanitize(char *arg, size_t len)
|
||||||
|
{
|
||||||
|
size_t i = 0;
|
||||||
|
|
||||||
|
while (isallowed(arg[i]) && i < len)
|
||||||
|
i++;
|
||||||
|
|
||||||
|
if (i + 1 < len) {
|
||||||
|
arg[i + 1] = 0;
|
||||||
|
return arg;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (i > 1 && arg[i] == 0)
|
||||||
|
return arg;
|
||||||
|
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Local Variables:
|
* Local Variables:
|
||||||
|
|||||||
Reference in new issue
Block a user