#include "hivex.h"
#include "byte_conversions.h"
+#define HIVEX_MAX_VALUES 1000
+
static int quit = 0;
static int is_tty;
static hive_h *h = NULL;
char *cmd = buf;
char *args;
- size_t i = 0;
if (buf[len] == '\0') {
/* This is mostly safe. Although the cmd_* functions do sometimes
case hive_t_full_resource_description:
case hive_t_resource_requirements_list:
default: {
- char *data = hivex_value_value (h, values[i], &t, &len);
+ unsigned char *data =
+ (unsigned char *) hivex_value_value (h, values[i], &t, &len);
if (!data)
goto error;
"setval", "nrvals", "xstrtol", xerr);
return -1;
}
- if (nrvals < 0 || nrvals > 1000) {
+ if (nrvals < 0 || nrvals > HIVEX_MAX_VALUES) {
fprintf (stderr, _("%s: %s: integer out of range\n"),
"setval", "nrvals");
return -1;
}
else if (STRPREFIX (buf, "expandstring:")) {
buf += 13;
- values[i].t = hive_t_string;
+ values[i].t = hive_t_expand_string;
int nr_chars = strlen (buf);
values[i].len = 2 * (nr_chars + 1);
values[i].value = malloc (values[i].len);