if (config->ignore_system_acls) {
mode_t create_mask = lp_create_mask(SNUM(handle->conn));
- char *create_mask_str = NULL;
if ((create_mask & 0666) != 0666) {
+ char create_mask_str[16];
+
create_mask |= 0666;
- create_mask_str = talloc_asprintf(handle, "0%o",
- create_mask);
- if (create_mask_str == NULL) {
- DBG_ERR("talloc_asprintf failed\n");
- return -1;
- }
+ snprintf(create_mask_str,
+ sizeof(create_mask_str),
+ "0%o",
+ create_mask);
DBG_NOTICE("setting 'create mask = %s'\n", create_mask_str);
lp_do_parameter (SNUM(handle->conn),
"create mask", create_mask_str);
-
- TALLOC_FREE(create_mask_str);
}
DBG_NOTICE("setting 'directory mask = 0777', "