Mercurial > mplayer.hg
view debian/postinst @ 21776:f43ed7e03b06
Fix double free of *http_hdr at server error.
In http.c::http_streaming_start() *http_hdr is allocated
then assigned to stream->streaming_ctrl->data
if server returns error *http_hdr is freed before function returns.
However the copy in ->data remains and is
later freed (again) by network.c::streaming_ctrl_free().
author | iive |
---|---|
date | Sat, 30 Dec 2006 13:23:39 +0000 |
parents | a5bef61f49bf |
children |
line wrap: on
line source
#!/usr/bin/perl -w # mplayer postinst require ConfHelper; use Debconf::Client::ConfModule qw(:all); use IO::Handle; use Fcntl; my $version = version(2.0); my $didupgrade = 0; dealwithupgrades(); my $mcfg = new ConfHelper('mplayer', "/etc/mplayer/mplayer.conf"); my $dcarea = "" ; my $font = scalar(get("mplayer/ttfont")) ; $dcarea .= "#truetype font\nfont=" . $font . "\n" if $font; $mcfg->setconfarea($dcarea); sub dealwithupgrades { open(OLDCONF, "</etc/mplayer/mplayer.conf") || return 1; close OLDCONF; my $mconf = new ConfHelper("mplayer", "/etc/mplayer/mplayer.conf"); return 1 if ($mconf->hasconfarea()); undef $mconf; if ((get('mplayer/replace-existing-files') eq 'true') && (fget('mplayer/replace-existing-files', 'isdefault') eq 'false')) { $didupgrade = 1; for my $file ("/etc/mplayer/mplayer.conf" ) { debug("Moving away $file"); rename($file,$file . ".old"); } } else { debug("Upgrade refused, exiting"); exit 0; } } sub debug { print STDERR @_, "\n"; } # pass control to debhelper scripts.. # my $temp="set -e\nset -- @ARGV\n" . << 'DEBHELPER_EOF_'; #DEBHELPER# DEBHELPER_EOF_ system ($temp) / 256 == 0 or die "Problem with debhelper scripts: $!";