d = (afs_ids_dlg_data *) (LONG_PTR)
GetWindowLongPtr(hwnd, DWLP_USER);
- PFREE(d);
+ if (d != NULL) {
+ PFREE(d);
+ SetWindowLongPtr(hwnd, DWLP_USER, 0);
+ }
}
return TRUE;
d = (afs_ids_dlg_data *) (LONG_PTR)
GetWindowLongPtr(hwnd, DWLP_USER);
+ if (d == NULL)
+ return FALSE;
+
if (wParam == MAKEWPARAM(IDC_CFG_OBTAIN, BN_CLICKED)) {
d->afs_enabled =
(IsDlgButtonChecked(hwnd, IDC_CFG_OBTAIN) ==
d = (afs_ids_dlg_data *) (LONG_PTR)
GetWindowLongPtr(hwnd, DWLP_USER);
+ if (d == NULL)
+ return FALSE;
+
if (HIWORD(wParam) == WMCFG_APPLY) {
khm_int32 t;
rv = afs_dlg_proc(hwnd, uMsg, wParam, 0);
d = (afs_dlg_data *) (LONG_PTR) GetWindowLongPtr(hwnd, DWLP_USER);
+#ifdef DEBUG
+ assert(d != NULL);
+#endif
+ if (d == NULL)
+ return rv;
d->cfg = *((khui_config_init_data *) lParam);
#ifdef DEBUG
assert(d && d->ident);
#endif
- kcdb_identity_release(d->ident);
+ if (d && d->ident) {
+ kcdb_identity_release(d->ident);
+ }
return afs_dlg_proc(hwnd, uMsg, wParam, lParam);
}
d = (afs_dlg_data *) (LONG_PTR) GetWindowLongPtr(hwnd, DWLP_USER);
+ if (d == NULL)
+ return TRUE;
+
if (HIWORD(wParam) == WMCFG_APPLY) {
afs_cred_write_ident_data(d);
}
node = (khui_config_node) (DWORD_PTR)
GetWindowLongPtr(hwnd, DWLP_USER);
- khui_cfg_set_flags(node,
- KHUI_CNFLAG_MODIFIED,
- KHUI_CNFLAG_MODIFIED);
+ if (node != NULL) {
+ khui_cfg_set_flags(node,
+ KHUI_CNFLAG_MODIFIED,
+ KHUI_CNFLAG_MODIFIED);
+ }
}
break;
}
node = (khui_config_node) (DWORD_PTR)
GetWindowLongPtr(hwnd, DWLP_USER);
+#ifdef DEBUG
+ assert(node != NULL);
+#endif
+ if (node == NULL)
+ break;
+
kmm_get_plugin_config(AFS_PLUGIN_NAME, KHM_PERM_WRITE,
&csp_afscred);
khm_size cb;
wchar_t vbuf[1024];
wchar_t * tbuf = NULL;
+ khm_int32 enabled = 0;
kcdb_identity_create(t, 0, &h_id);
if (h_id == NULL) {
0, &csp_afs)))
goto _cleanup_loop;
+ if (KHM_SUCCEEDED(khc_read_int32(csp_afs, L"AFSEnabled", &enabled)) &&
+ !enabled)
+ goto _cleanup_loop;
+
if (khc_read_multi_string(csp_afs, L"Cells", NULL, &cb)
!= KHM_ERROR_TOO_LONG)
goto _cleanup_loop;
khm_size cb;
wchar_t vbuf[1024];
wchar_t * tbuf = NULL;
+ khm_int32 enabled = 0;
kcdb_identity_create(t, 0, &h_id);
if (h_id == NULL) {
0, &csp_afs)))
goto _cleanup_loop;
+ if (KHM_SUCCEEDED(khc_read_int32(csp_afs, L"AFSEnabled", &enabled)) &&
+ !enabled)
+ goto _cleanup_loop;
+
if (khc_read_multi_string(csp_afs, L"Cells", NULL, &cb)
!= KHM_ERROR_TOO_LONG)
goto _cleanup_loop;
StringCbCopy(r->cell, cb, s);
r->realm = NULL;
- r->method = 0;
- r->flags = 0;
+ r->method = AFS_TOKEN_AUTO;
+ r->flags = DLGROW_FLAG_CONFIG;
if(KHM_SUCCEEDED(khc_open_space(h_cells, s,
0, &h_cell))) {
d = (afs_dlg_data *)(LONG_PTR) GetWindowLongPtr(hwnd, DWLP_USER);
+ if (d == NULL)
+ return;
+
ZeroMemory(&ti, sizeof(ti));
ti.cbSize = sizeof(ti);
ti.hwnd = hwnd;
d = (afs_dlg_data *)(LONG_PTR) GetWindowLongPtr(hwnd, DWLP_USER);
+ if (d == NULL)
+ return;
+
if(!d->tooltip_visible)
return;
d = (afs_dlg_data *)(LONG_PTR) GetWindowLongPtr(hwnd, DWLP_USER);
+ if (d == NULL)
+ return;
+
if (d->nc)
khui_cw_find_type(d->nc, afs_credtype_id, &nct);
d = (afs_dlg_data *)(LONG_PTR) GetWindowLongPtr(hwnd, DWLP_USER);
+ if (d == NULL)
+ return;
+
if (d->nc)
khui_cw_find_type(d->nc, afs_credtype_id, &nct);
else
d = (afs_dlg_data *)(LONG_PTR)
GetWindowLongPtr(hwnd, DWLP_USER);
+ if (d == NULL)
+ return TRUE;
+
EnterCriticalSection(&d->cs);
if (d->nc) {
DeleteCriticalSection(&d->cs);
PFREE(d);
+
+ SetWindowLongPtr(hwnd, DWLP_USER, 0);
}
return TRUE;
d = (afs_dlg_data *)(LONG_PTR)
GetWindowLongPtr(hwnd, DWLP_USER);
+ if (d == NULL)
+ return FALSE;
+
EnterCriticalSection(&d->cs);
if (d->nc)
d = (afs_dlg_data *)(LONG_PTR)
GetWindowLongPtr(hwnd, DWLP_USER);
+ if (d == NULL)
+ return TRUE;
+
EnterCriticalSection(&d->cs);
if (d->nc)
d = (afs_dlg_data *)(LONG_PTR)
GetWindowLongPtr(hwnd, DWLP_USER);
+ if (d == NULL)
+ return FALSE;
+
EnterCriticalSection(&d->cs);
hw = GetDlgItem(hwnd, IDC_NCAFS_TOKENLIST);
d = (afs_dlg_data *)(LONG_PTR)
GetWindowLongPtr(hwnd, DWLP_USER);
+ if (d == NULL)
+ return FALSE;
+
EnterCriticalSection(&d->cs);
pnmi = (LPNMITEMACTIVATE) lpnmh;
lru_cell,
&cbt);
} else {
- cbcell = MAXCELLCHARS * sizeof(wchar_t) *
- l->n_rows;
- if (cbcell > 0) {
+ cbcell = MAXCELLCHARS * sizeof(wchar_t) * l->n_rows + sizeof(wchar_t);
+ if (l->n_rows > 0) {
lru_cell = PMALLOC(cbcell);
ZeroMemory(lru_cell, cbcell);
} else {
lru_cell = NULL;
+ cbcell = 0;
}
}
lru_realm,
&cbt);
} else {
- cbrealm = MAXCELLCHARS * sizeof(wchar_t) * l->n_rows;
- if (cbrealm > 0) {
+ cbrealm = MAXCELLCHARS * sizeof(wchar_t) * l->n_rows + sizeof(wchar_t);
+ if (l->n_rows > 0) {
lru_realm = PMALLOC(cbrealm);
ZeroMemory(lru_realm, cbrealm);
} else {
lru_cell = NULL;
+ cbrealm = 0;
}
}
- cbidcell = MAXCELLCHARS * sizeof(wchar_t) * l->n_rows;
- if (cbidcell > 0) {
+ cbidcell = MAXCELLCHARS * sizeof(wchar_t) * l->n_rows + sizeof(wchar_t);
+ if (l->n_rows > 0) {
id_cell = PMALLOC(cbidcell);
ZeroMemory(id_cell, cbidcell);
} else {
id_cell = NULL;
+ cbidcell = 0;
}
for(i=0; i < l->n_rows; i++)
khc_close_space(h_acell);
}
- if (h_cellmap) {
- khc_write_string(h_cellmap,
- l->rows[i].cell,
- idname);
+ if (l->rows[i].flags & DLGROW_FLAG_DONE) {
+ if (h_cellmap) {
+ khc_write_string(h_cellmap,
+ l->rows[i].cell,
+ idname);
+ }
}
}
if (id_cell)
khc_write_multi_string(h_afs, L"Cells",
id_cell);
+ else
+ khc_write_multi_string(h_afs, L"Cells", L"\0");
if (d->config_dlg) {
if (d->dirty)