1
0
mirror of https://github.com/samba-team/samba.git synced 2025-12-05 12:23:50 +03:00

This removes the 3rd argument from init_unistr2(). There were 240

calls to init_unistr2() in the code and every one of them got the 3rd
argument incorrect, so I thought it best just to remove the argument.

The incorrect usage was caused by callers using strlen() to determine
the length of the string. The 3rd argument to init_unistr2() was
supposed to be the character length, not the byte length of the
string, so for non-english this could come out wrong.

I also removed the bogus 'always allocate at least 256 bytes'
hack. There may be some code that relies on this, but if there is then
the code is broken and needs fixing.
This commit is contained in:
Andrew Tridgell
-
parent f2c9c64900
commit b9eff31b14
17 changed files with 235 additions and 247 deletions

View File

@@ -59,7 +59,7 @@ PyObject *spoolss_hnd_addform(PyObject *self, PyObject *args, PyObject *kw)
PyObject *obj = PyDict_GetItemString(info, "name");
char *form_name = PyString_AsString(obj);
init_unistr2(&form.name, form_name, strlen(form_name) + 1);
init_unistr2(&form.name, form_name);
break;
}
default:

View File

@@ -81,7 +81,7 @@ BOOL py_to_FORM(FORM *form, PyObject *dict)
obj = PyDict_GetItemString(dict, "name");
name = PyString_AsString(obj);
init_unistr2(&form->name, name, strlen(name) + 1);
init_unistr2(&form->name, name);
result = True;