diff --git a/src/syncterm/ripper.c b/src/syncterm/ripper.c
index 2f83e97db7349c3f60e8287474b8bb55bc300d81..ee72d43a26f8affa749d78fcffd244774f8198a9 100644
--- a/src/syncterm/ripper.c
+++ b/src/syncterm/ripper.c
@@ -11590,7 +11590,7 @@ do_rip_command(int level, int sublevel, int cmd, const char *rawargs)
 							handled = true;
 							arg1 = parse_mega(&args[0], 2);
 							arg2 = parse_mega(&args[2], 2);
-							if ((arg1 < 0) || (arg1 > 255))
+							if ((arg1 < 0) || (arg1 > 15))
 								break;
 							if ((arg2 < 0) || (arg2 > 63))
 								break;
@@ -14934,6 +14934,7 @@ do_rip_command(int level, int sublevel, int cmd, const char *rawargs)
 										break;
 								}
 								suspend_rip(false);
+								free(uldir);
 							}
 							break;
 					}