diff options
author | Pascal Terjan <pterjan@mageia.org> | 2012-08-10 23:53:33 +0000 |
---|---|---|
committer | Pascal Terjan <pterjan@mageia.org> | 2012-08-10 23:53:33 +0000 |
commit | 3093688d4264f5c53bb0fa6dafca3b65e8875b5b (patch) | |
tree | 7ed8c2a68e6f4ce0c723dca7e0c8ca7c172229b3 | |
parent | ca28862a178c8988d0dafb5c8386f8f1652f553a (diff) | |
download | perl-URPM-3093688d4264f5c53bb0fa6dafca3b65e8875b5b.tar perl-URPM-3093688d4264f5c53bb0fa6dafca3b65e8875b5b.tar.gz perl-URPM-3093688d4264f5c53bb0fa6dafca3b65e8875b5b.tar.bz2 perl-URPM-3093688d4264f5c53bb0fa6dafca3b65e8875b5b.tar.xz perl-URPM-3093688d4264f5c53bb0fa6dafca3b65e8875b5b.zip |
Don't read/write after the string when the synthesis is slightly malformed
-rw-r--r-- | URPM.xs | 2 | ||||
-rw-r--r-- | t/synthesis.t | 2 |
2 files changed, 2 insertions, 2 deletions
@@ -1759,7 +1759,7 @@ Pkg_filename(pkg) if (pkg->info) { char *eon; - if ((eon = strchr(pkg->info, '@')) != NULL) { + if ((eon = strchr(pkg->info, '@')) != NULL && strlen(eon) >= 3) { char savbuf[4]; memcpy(savbuf, eon, 4); /* there should be at least epoch and size described so (@0@0 minimum) */ memcpy(eon, ".rpm", 4); diff --git a/t/synthesis.t b/t/synthesis.t index 8246b36..1b7e8d6 100644 --- a/t/synthesis.t +++ b/t/synthesis.t @@ -14,7 +14,7 @@ my $s = <<'EOF'; @requires@/sbin/install-info@glibc == 2.2.4@kernel-headers@kernel-headers >= 2.2.1@/bin/sh@/bin/sh@/bin/sh@rpmlib(PayloadFilesHavePrefix) <= 4.0-1@rpmlib(CompressedFileNames) <= 3.0.4-1 @conflicts@texinfo < 3.11@gcc < 2.96-0.50mdk @obsoletes@libc-debug@libc-headers@libc-devel@linuxthreads-devel@glibc-debug -@info@glibc-devel-2.2.4-25mdk.i586@6@45692097@Development/C +@info@glibc-devel-2.2.4-25mdk.i586@ EOF open my $f, "| gzip -9 >$file1"; |