summaryrefslogtreecommitdiffstats
path: root/source/web
diff options
context:
space:
mode:
authorJeremy Allison <jra@samba.org>2004-12-07 18:25:53 +0000
committerGerald (Jerry) Carter <jerry@samba.org>2007-10-10 10:53:32 -0500
commit620f2e608f70ba92f032720c031283d295c5c06a (patch)
treeec3dd5fcf29eaa98a26ddeae3acb7a89fd0e0fb8 /source/web
parent12440744ba36445186042c8c254785766cce5385 (diff)
downloadsamba-620f2e608f70ba92f032720c031283d295c5c06a.tar.gz
samba-620f2e608f70ba92f032720c031283d295c5c06a.tar.xz
samba-620f2e608f70ba92f032720c031283d295c5c06a.zip
r4088: Get medieval on our ass about malloc.... :-). Take control of all our allocation
functions so we can funnel through some well known functions. Should help greatly with malloc checking. HEAD patch to follow. Jeremy.
Diffstat (limited to 'source/web')
-rw-r--r--source/web/cgi.c20
-rw-r--r--source/web/neg_lang.c4
-rw-r--r--source/web/statuspage.c4
3 files changed, 14 insertions, 14 deletions
diff --git a/source/web/cgi.c b/source/web/cgi.c
index cf309c364e2..937e603f8cd 100644
--- a/source/web/cgi.c
+++ b/source/web/cgi.c
@@ -59,7 +59,7 @@ static char *grab_line(FILE *f, int *cl)
char *ret2;
if (len == 0) len = 1024;
else len *= 2;
- ret2 = (char *)Realloc(ret, len);
+ ret2 = (char *)SMB_REALLOC(ret, len);
if (!ret2) return ret;
ret = ret2;
}
@@ -135,8 +135,8 @@ void cgi_load_variables(void)
*p = 0;
- variables[num_variables].name = strdup(line);
- variables[num_variables].value = strdup(p+1);
+ variables[num_variables].name = SMB_STRDUP(line);
+ variables[num_variables].value = SMB_STRDUP(p+1);
SAFE_FREE(line);
@@ -170,8 +170,8 @@ void cgi_load_variables(void)
*p = 0;
- variables[num_variables].name = strdup(tok);
- variables[num_variables].value = strdup(p+1);
+ variables[num_variables].name = SMB_STRDUP(tok);
+ variables[num_variables].value = SMB_STRDUP(p+1);
if (!variables[num_variables].name ||
!variables[num_variables].value)
@@ -205,13 +205,13 @@ void cgi_load_variables(void)
variables[i].name, -1,
dest, sizeof(dest), True);
free(variables[i].name);
- variables[i].name = strdup(dest);
+ variables[i].name = SMB_STRDUP(dest);
convert_string(CH_UTF8, CH_UNIX,
variables[i].value, -1,
dest, sizeof(dest), True);
free(variables[i].value);
- variables[i].value = strdup(dest);
+ variables[i].value = SMB_STRDUP(dest);
}
}
@@ -366,7 +366,7 @@ static BOOL cgi_handle_authorization(char *line)
become_user_permanently(pass->pw_uid, pass->pw_gid);
/* Save the users name */
- C_user = strdup(user);
+ C_user = SMB_STRDUP(user);
passwd_free(&pass);
return True;
}
@@ -530,11 +530,11 @@ void cgi_setup(const char *rootdir, int auth_required)
if (line[0] == '\r' || line[0] == '\n') break;
if (strnequal(line,"GET ", 4)) {
got_request = True;
- url = strdup(&line[4]);
+ url = SMB_STRDUP(&line[4]);
} else if (strnequal(line,"POST ", 5)) {
got_request = True;
request_post = 1;
- url = strdup(&line[5]);
+ url = SMB_STRDUP(&line[5]);
} else if (strnequal(line,"PUT ", 4)) {
got_request = True;
cgi_setup_error("400 Bad Request", "",
diff --git a/source/web/neg_lang.c b/source/web/neg_lang.c
index aa285745d6c..ca671822d87 100644
--- a/source/web/neg_lang.c
+++ b/source/web/neg_lang.c
@@ -85,7 +85,7 @@ void web_set_lang(const char *lang_string)
count++;
lang_num++;
}
- pl = (struct pri_list *)malloc(sizeof(struct pri_list) * lang_num);
+ pl = SMB_MALLOC_ARRAY(struct pri_list, lang_num);
for (i = 0; i < lang_num; i++) {
char *pri_code;
if ((pri_code=strstr(lang_list[i], ";q="))) {
@@ -95,7 +95,7 @@ void web_set_lang(const char *lang_string)
} else {
pl[i].pri = 1;
}
- pl[i].string = strdup(lang_list[i]);
+ pl[i].string = SMB_STRDUP(lang_list[i]);
}
str_list_free(&lang_list);
diff --git a/source/web/statuspage.c b/source/web/statuspage.c
index 953222c2fc1..57b5d0f7b73 100644
--- a/source/web/statuspage.c
+++ b/source/web/statuspage.c
@@ -61,14 +61,14 @@ static void addPid2Machine (pid_t pid, char *machine)
if (PID_or_Machine) {
PIDMAP *newmap;
- if ((newmap = (PIDMAP *) malloc (sizeof (PIDMAP))) == NULL) {
+ if ((newmap = SMB_MALLOC_P(PIDMAP)) == NULL) {
/* XXX need error message for this?
if malloc fails, PID is always shown */
return;
}
newmap->pid = pid;
- newmap->machine = strdup (machine);
+ newmap->machine = SMB_STRDUP(machine);
DLIST_ADD(pidmap, newmap);
}