Преглед изворни кода

u-a: Fix use after free in alternative_parse_fileset()

Reported-by: Pedro Ribeiro <pedrib@gmail.com>
Guillem Jover пре 13 година
родитељ
комит
40fd7f9542
2 измењених фајлова са 3 додато и 3 уклоњено
  1. 2 0
      debian/changelog
  2. 1 3
      utils/update-alternatives.c

+ 2 - 0
debian/changelog

@@ -14,6 +14,8 @@ dpkg (1.17.2) UNRELEASED; urgency=low
   * Clarify «dpkg-deb --extract» bad usage error message on missing arguments
   * Clarify «dpkg-deb --extract» bad usage error message on missing arguments
     by printing all required arguments at once. Closes: #718899
     by printing all required arguments at once. Closes: #718899
   * Clarify the insertion order of _ members in deb(5) man page.
   * Clarify the insertion order of _ members in deb(5) man page.
+  * Fix use after free in alternative_parse_fileset() on update-alternatives.
+    Reported by Pedro Ribeiro <pedrib@gmail.com>.
 
 
  -- Guillem Jover <guillem@debian.org>  Sun, 28 Jul 2013 15:06:29 +0200
  -- Guillem Jover <guillem@debian.org>  Sun, 28 Jul 2013 15:06:29 +0200
 
 

+ 1 - 3
utils/update-alternatives.c

@@ -1199,10 +1199,8 @@ alternative_parse_fileset(struct alternative *a, struct altdb_context *ctx)
 	}
 	}
 
 
 	fs = alternative_get_fileset(a, master_file);
 	fs = alternative_get_fileset(a, master_file);
-	if (fs) {
-		free(master_file);
+	if (fs)
 		ctx->bad_format(ctx, _("duplicate path %s"), master_file);
 		ctx->bad_format(ctx, _("duplicate path %s"), master_file);
-	}
 
 
 	if (stat(master_file, &st)) {
 	if (stat(master_file, &st)) {
 		char *junk;
 		char *junk;