roken: Fix warnings
This commit is contained in:
@@ -66,7 +66,8 @@ main(int argc, char **argv)
|
||||
for(t = tests; t->data; t++) {
|
||||
char *str;
|
||||
int len;
|
||||
len = rk_base32_encode(t->data, t->len, &str, t->preserve_order);
|
||||
|
||||
(void) rk_base32_encode(t->data, t->len, &str, t->preserve_order);
|
||||
if (strcmp(str, t->result) != 0) {
|
||||
fprintf(stderr, "failed test %d: %s != %s\n", numtest,
|
||||
str, t->result);
|
||||
|
@@ -271,7 +271,7 @@ main(int argc, char **argv)
|
||||
} else {
|
||||
void *d;
|
||||
|
||||
if ((ret = rk_undumpdata(argv[0], &d, &bufsz)))
|
||||
if ((errno = rk_undumpdata(argv[0], &d, &bufsz)))
|
||||
err(1, "Could not read %s", argv[0]);
|
||||
buflen = bufsz;
|
||||
buf = d;
|
||||
|
@@ -58,7 +58,8 @@ main(int argc, char **argv)
|
||||
for(t = tests; t->data; t++) {
|
||||
char *str;
|
||||
int len;
|
||||
len = rk_base64_encode(t->data, t->len, &str);
|
||||
|
||||
(void) rk_base64_encode(t->data, t->len, &str);
|
||||
if(strcmp(str, t->result) != 0) {
|
||||
fprintf(stderr, "failed test %d: %s != %s\n", numtest,
|
||||
str, t->result);
|
||||
|
@@ -214,7 +214,7 @@ main(int argc, char **argv)
|
||||
err(1, "Could not read stdin");
|
||||
} else {
|
||||
void *d;
|
||||
if ((ret = rk_undumpdata(argv[0], &d, &bufsz)))
|
||||
if ((errno = rk_undumpdata(argv[0], &d, &bufsz)))
|
||||
err(1, "Could not read %s", argv[0]);
|
||||
buflen = bufsz;
|
||||
buf = d;
|
||||
|
@@ -62,7 +62,8 @@ find_var(char **env, char *assignment, size_t len)
|
||||
static int
|
||||
read_env_file(FILE *F, char ***env, int *assigned)
|
||||
{
|
||||
int idx = 0;
|
||||
size_t alloced = 0;
|
||||
size_t idx = 0;
|
||||
int i;
|
||||
char **l;
|
||||
char buf[BUFSIZ], *p, *r;
|
||||
@@ -71,8 +72,11 @@ read_env_file(FILE *F, char ***env, int *assigned)
|
||||
|
||||
*assigned = 0;
|
||||
|
||||
for(idx = 0; *env != NULL && (*env)[idx] != NULL; idx++);
|
||||
l = *env;
|
||||
for (idx = 0; l != NULL && l[idx] != NULL; idx++)
|
||||
;
|
||||
if (l)
|
||||
alloced = idx + 1;
|
||||
|
||||
/* This is somewhat more relaxed on what it accepts then
|
||||
* Wietses sysv_environ from K4 was...
|
||||
@@ -90,7 +94,11 @@ read_env_file(FILE *F, char ***env, int *assigned)
|
||||
continue;
|
||||
|
||||
if((i = find_var(l, p, r - p + 1)) >= 0) {
|
||||
char *val = strdup(p);
|
||||
char *val;
|
||||
|
||||
if ((size_t)i >= alloced)
|
||||
continue; /* Doesn't happen (fix scan-build noise) */
|
||||
val = strdup(p);
|
||||
if(val == NULL) {
|
||||
ret = ENOMEM;
|
||||
break;
|
||||
@@ -114,6 +122,7 @@ read_env_file(FILE *F, char ***env, int *assigned)
|
||||
break;
|
||||
}
|
||||
l[++idx] = NULL;
|
||||
alloced = idx + 1;
|
||||
(*assigned)++;
|
||||
}
|
||||
if(ferror(F))
|
||||
|
@@ -43,7 +43,7 @@ main(int argc, char **argv)
|
||||
int numtest = 1;
|
||||
struct test {
|
||||
void *data;
|
||||
size_t len;
|
||||
ssize_t len;
|
||||
const char *result;
|
||||
} *t, tests[] = {
|
||||
{ "", 0 , "" },
|
||||
@@ -55,26 +55,35 @@ main(int argc, char **argv)
|
||||
{ "abcdef", 6, "616263646566" },
|
||||
{ "abcdefg", 7, "61626364656667" },
|
||||
{ "=", 1, "3D" },
|
||||
/* Embedded NUL, non-ASCII / binary */
|
||||
{ "\0\x01\x1a\xad\xf1\xff", 6, "00011AADF1FF" },
|
||||
/* Invalid encodings */
|
||||
{ "", -1, "00.11AADF1FF" },
|
||||
{ "", -1, "000x1AADF1FF" },
|
||||
{ "", -1, "00011?ADF1FF" },
|
||||
{ NULL, 0, NULL }
|
||||
};
|
||||
for(t = tests; t->data; t++) {
|
||||
ssize_t len;
|
||||
char *str;
|
||||
int len;
|
||||
len = hex_encode(t->data, t->len, &str);
|
||||
if(strcmp(str, t->result) != 0) {
|
||||
fprintf(stderr, "failed test %d: %s != %s\n", numtest,
|
||||
str, t->result);
|
||||
numerr++;
|
||||
}
|
||||
free(str);
|
||||
|
||||
if (t->len > -1) {
|
||||
(void) hex_encode(t->data, t->len, &str);
|
||||
if (strcmp(str, t->result) != 0) {
|
||||
fprintf(stderr, "failed test %d: %s != %s\n", numtest,
|
||||
str, t->result);
|
||||
numerr++;
|
||||
}
|
||||
free(str);
|
||||
}
|
||||
str = strdup(t->result);
|
||||
len = strlen(str);
|
||||
len = hex_decode(t->result, str, len);
|
||||
if(len != t->len) {
|
||||
fprintf(stderr, "failed test %d: len %lu != %lu\n", numtest,
|
||||
(unsigned long)len, (unsigned long)t->len);
|
||||
if (len != t->len) {
|
||||
fprintf(stderr, "failed test %d: len %lu != %ld\n", numtest,
|
||||
(long)len, (long)t->len);
|
||||
numerr++;
|
||||
} else if(memcmp(str, t->data, t->len) != 0) {
|
||||
} else if (t->len > -1 && memcmp(str, t->data, t->len) != 0) {
|
||||
fprintf(stderr, "failed test %d: data\n", numtest);
|
||||
numerr++;
|
||||
}
|
||||
|
@@ -39,14 +39,15 @@
|
||||
|
||||
static const char hexchar[16] = "0123456789ABCDEF";
|
||||
|
||||
static int
|
||||
static inline int
|
||||
pos(char c)
|
||||
{
|
||||
const char *p;
|
||||
c = toupper((unsigned char)c);
|
||||
for (p = hexchar; *p; p++)
|
||||
if (*p == c)
|
||||
return p - hexchar;
|
||||
if (c >= '0' && c <= '9')
|
||||
return c - '0';
|
||||
if (c >= 'A' && c <= 'F')
|
||||
return 10 + c - 'A';
|
||||
if (c >= 'a' && c <= 'f')
|
||||
return 10 + c - 'a';
|
||||
return -1;
|
||||
}
|
||||
|
||||
@@ -86,6 +87,7 @@ hex_decode(const char *str, void *data, size_t len)
|
||||
size_t l;
|
||||
unsigned char *p = data;
|
||||
size_t i;
|
||||
int d;
|
||||
|
||||
l = strlen(str);
|
||||
|
||||
@@ -94,11 +96,19 @@ hex_decode(const char *str, void *data, size_t len)
|
||||
return -1;
|
||||
|
||||
if (l & 1) {
|
||||
p[0] = pos(str[0]);
|
||||
if ((d = pos(str[0])) == -1)
|
||||
return -1;
|
||||
p[0] = d;
|
||||
str++;
|
||||
p++;
|
||||
}
|
||||
for (i = 0; i < l / 2; i++)
|
||||
p[i] = pos(str[i * 2]) << 4 | pos(str[(i * 2) + 1]);
|
||||
for (i = 0; i < l / 2; i++) {
|
||||
if ((d = pos(str[i * 2])) == -1)
|
||||
return -1;
|
||||
p[i] = d << 4;
|
||||
if ((d = pos(str[(i * 2) + 1])) == -1)
|
||||
return -1;
|
||||
p[i] |= d;
|
||||
}
|
||||
return i + (l & 1);
|
||||
}
|
||||
|
@@ -50,7 +50,8 @@ main(void)
|
||||
char buf2[MAX_PATH * 2];
|
||||
int ret = 0;
|
||||
if (!issuid() && getuid() != 0) {
|
||||
const char *s, *s2;
|
||||
const char *s = NULL;
|
||||
const char *s2 = NULL;
|
||||
|
||||
if (getenv("USER") != NULL && strlen(getenv("USER")) != 0 &&
|
||||
(s = roken_get_username(buf, sizeof(buf))) == NULL) {
|
||||
|
@@ -440,16 +440,18 @@ rk_strrasvisx(char **out,
|
||||
return -1;
|
||||
}
|
||||
if (have < want) {
|
||||
if ((s = realloc(*out, want)) == NULL)
|
||||
if ((s = realloc(s, want)) == NULL)
|
||||
return -1;
|
||||
*outsz = want;
|
||||
*out = s;
|
||||
}
|
||||
if (*out == NULL) {
|
||||
errno = EINVAL;
|
||||
return -1;
|
||||
}
|
||||
**out = '\0'; /* Makes source debugging nicer, that's all */
|
||||
if ((r = strsvisx(*out, csrc, len, flag, extra)) < 0)
|
||||
return r;
|
||||
errno = *out ? errno : EINVAL;
|
||||
return *out ? r : -1;
|
||||
r = strsvisx(*out, csrc, len, flag, extra);
|
||||
return r;
|
||||
}
|
||||
|
||||
#if !HAVE_VIS
|
||||
@@ -641,6 +643,7 @@ main(int argc, char **argv)
|
||||
}
|
||||
|
||||
free(nextra);
|
||||
free(s);
|
||||
return 0;
|
||||
}
|
||||
#endif
|
||||
|
Reference in New Issue
Block a user