rem: return -3;
add: return -8;
context: static inline int new_dlist(str* _n, dlist_t** _d){	dlist_t* ptr;	     /* Domains are created before ser forks,	      * so we can create them using pkg_malloc	      */	ptr = (dlist_t*)shm_malloc(sizeof(dlist_t));	if (ptr == 0) {		paerrno = PA_NO_MEMORY;		LOG(L_ERR, "new_dlist(): No memory left\n");		return -1;	}	memset(ptr, 0, sizeof(dlist_t));	ptr->name.s = (char*)shm_malloc(_n->len);	if (ptr->name.s == 0) {		paerrno = PA_NO_MEMORY;		LOG(L_ERR, "new_dlist(): No memory left 2\n");		shm_free(ptr);		return -2;	}	memcpy(ptr->name.s, _n->s, _n->len);	ptr->name.len = _n->len;	if (new_pdomain(&(ptr->name), 512, &(ptr->d)) < 0) {		LOG(L_ERR, "new_dlist(): Error while creating domain structure\n");		shm_free(ptr->name.s);		shm_free(ptr);		return -3;	}	*_d = ptr;	return 0;}