projects
/
pspp
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Fix buffer overflow reported by John Darrington.
[pspp]
/
src
/
language
/
dictionary
/
weight.c
diff --git
a/src/language/dictionary/weight.c
b/src/language/dictionary/weight.c
index 58ed524d22a20b7e78068f943696c5016d19f4f1..ec6d712bb7cf29903b29296bb0fe55bba000691f 100644
(file)
--- a/
src/language/dictionary/weight.c
+++ b/
src/language/dictionary/weight.c
@@
-34,16
+34,17
@@
#define _(msgid) gettext (msgid)
int
#define _(msgid) gettext (msgid)
int
-cmd_weight (
void
)
+cmd_weight (
struct dataset *ds
)
{
{
+ struct dictionary *dict = dataset_dict (ds);
if (lex_match_id ("OFF"))
if (lex_match_id ("OFF"))
- dict_set_weight (d
efault_dict
, NULL);
+ dict_set_weight (d
ataset_dict (ds)
, NULL);
else
{
struct variable *v;
lex_match (T_BY);
else
{
struct variable *v;
lex_match (T_BY);
- v = parse_variable ();
+ v = parse_variable (
dict
);
if (!v)
return CMD_CASCADING_FAILURE;
if (v->type == ALPHA)
if (!v)
return CMD_CASCADING_FAILURE;
if (v->type == ALPHA)
@@
-57,7
+58,7
@@
cmd_weight (void)
return CMD_CASCADING_FAILURE;
}
return CMD_CASCADING_FAILURE;
}
- dict_set_weight (d
efault_d
ict, v);
+ dict_set_weight (dict, v);
}
return lex_end_of_command ();
}
return lex_end_of_command ();