Index: uspace/app/bdsh/cmds/modules/alias/alias.c
===================================================================
--- uspace/app/bdsh/cmds/modules/alias/alias.c	(revision e62f8e3fe3c6d4a7b8ff824766f6136e0e6ed0ed)
+++ uspace/app/bdsh/cmds/modules/alias/alias.c	(revision 46288eef683d4b03bcbb084da70081298922bd22)
@@ -72,11 +72,13 @@
 		/* update existing value */
 		alias_t *data = odict_get_instance(alias_link, alias_t, odict);
-		free(data->value);
-		data->value = str_dup(value);
+		char *dup_value = str_dup(value);
 
-		if (data->value == NULL) {
+		if (dup_value == NULL) {
 			cli_error(CL_ENOMEM, "%s: failing to allocate memory for value\n", cmdname);
 			return ENOMEM;
 		}
+
+		free(data->value);
+		data->value = dup_value;
 	} else {
 		/* add new value */
Index: uspace/app/bdsh/cmds/modules/unalias/unalias.c
===================================================================
--- uspace/app/bdsh/cmds/modules/unalias/unalias.c	(revision e62f8e3fe3c6d4a7b8ff824766f6136e0e6ed0ed)
+++ uspace/app/bdsh/cmds/modules/unalias/unalias.c	(revision 46288eef683d4b03bcbb084da70081298922bd22)
@@ -92,4 +92,5 @@
 	}
 
+	int rc = CMD_SUCCESS;
 	size_t i;
 	for (i = 1; argv[i] != NULL; i++) {
@@ -98,4 +99,5 @@
 		if (alias_link == NULL) {
 			cli_error(CL_ENOENT, "%s: No alias '%s' found\n", cmdname, argv[i]);
+			rc = CMD_FAILURE;
 		} else {
 			free_alias(alias_link);
@@ -103,4 +105,4 @@
 	}
 
-	return CMD_SUCCESS;
+	return rc;
 }
