search for: dict_deinit

Displaying 6 results from an estimated 6 matches for "dict_deinit".

2014 Jul 07
1
[PATH] expire plugins segfault with misconfigured dict
...plugin: dict_init(blblbla) failed: Dictionary URI is missing ':': blblbla Jul 7 14:51:11 dovecot1 dovecot: lmtp(10548, lazy): Fatal: master: service(lmtp): child 10548 killed with signal 11 (core dumps disabled) Program received signal SIGSEGV, Segmentation fault. 0x00007f337d8af8ae in dict_deinit (_dict=0x8) at dict.c:87 87 struct dict *dict = *_dict; (gdb) bt #0 0x00007f337d8af8ae in dict_deinit (_dict=0x8) at dict.c:87 #1 0x00007f337c88f647 in expire_mail_user_deinit (user=0x1b60e80) at expire-plugin.c:299 #2 0x00007f337cca3e7f in quota_user_deinit (user=0x1b60e80) at...
2007 Dec 10
1
dict: Leaked a t_pop() call in I/O handler
..._lookup(cache->dicts, t_strdup_printf("%s\t%s", username, uri)); i_assert(entry != NULL && entry->refcount > 0); if (--entry->refcount == 0) { hash_remove(cache->dicts, entry->user_uri); dict_deinit(&entry->dict); i_free(entry->user_uri); i_free(entry); } } ---- src/dict/dict-cache.c ---- Notice the "t_push()" call there. So calling t_pop() somewhere before the end of the function, makes dovecot work like a charm (again). P.D: I...
2016 Oct 17
1
Dict proxy client returning empty string instead of multiline string
...har* value, error; dict_drivers_register_builtin(); dict_init(dict_uri, DICT_DATA_TYPE_STRING, username, doveadm_settings->base_dir, &dict, &error); dict_lookup(dict, pool_datastack_create(), key, &value); printf(">%s\n", value); // outputs an empty string dict_deinit(&dict); I trimmed it to the bare minimal string manipulation functions involved but cannot reproduce in that case: pool_t pool = pool_datastack_create(); char* s1 = "test\001n\001rtest"; char* s2 = t_str_tabunescape(s1); char* s3 = p_strdup(pool, s2); printf("1>%...
2016 Oct 17
2
Dict proxy client returning empty string instead of multiline string
...n(); > > dict_init(dict_uri, DICT_DATA_TYPE_STRING, username, > > doveadm_settings->base_dir, &dict, &error); > > dict_lookup(dict, pool_datastack_create(), key, &value); > > printf(">%s\n", value); // outputs an empty string > > dict_deinit(&dict); > > > > I trimmed it to the bare minimal string manipulation functions involved > > but cannot reproduce in that case: > > > > pool_t pool = pool_datastack_create(); > > > > char* s1 = "test\001n\001rtest"; > > char* s2...
2016 Oct 17
2
Dict proxy client returning empty string instead of multiline string
Hi! This does sound like a bug, we'll have look. Aki On 17.10.2016 01:26, Pierre Jaury wrote: > I dived a little bit further into the rabbit hole, up to the point where > debugging has become unpracticle but I still haven't found the root > cause for sure. > > I read most of the code for "p_strdup" based on datastack memory pools > (which are used for
2016 Oct 17
2
Dict proxy client returning empty string instead of multiline string
...uri, DICT_DATA_TYPE_STRING, username, > >>> doveadm_settings->base_dir, &dict, &error); > >>> dict_lookup(dict, pool_datastack_create(), key, &value); > >>> printf(">%s\n", value); // outputs an empty string > >>> dict_deinit(&dict); > >>> > >>> I trimmed it to the bare minimal string manipulation functions involved > >>> but cannot reproduce in that case: > >>> > >>> pool_t pool = pool_datastack_create(); > >>> > >>> char* s1 =...