Use absolute path for mv.
[pr0n] / perl / Sesse / pr0n / Rotate.pm
index eb8d17ebc8c386ea7f1cc746e9d410a0355dc4e6..80c25521600c3c4dead844db64bb248a2ca94ac7 100644 (file)
@@ -23,12 +23,13 @@ sub handler {
 
        {
                # Enable transactions and error raising temporarily
-               local $dbh->{AutoCommit} = 0;
                local $dbh->{RaiseError} = 1;
 
                my @params = $apr->param();
                my $key;
                for $key (@params) {
+                       local $dbh->{AutoCommit} = 0;
+
                        # Rotation
                        if ($key =~ /^rot-(\d+)-(90|180|270)$/ && $apr->param($key) eq 'on') {
                                my ($id, $rotval) = ($1,$2);
@@ -36,8 +37,8 @@ sub handler {
                                push @to_purge, Sesse::pr0n::Common::get_all_cache_urls($r, $dbh, $id);
                                (my $tmpfname = $fname) =~ s/\.jpg$/-tmp.jpg/;
 
-                               system("/usr/bin/jpegtran -rotate $rotval -copy all < '$fname' > '$tmpfname' && mv '$tmpfname' '$fname'") == 0
-                                       or error($r, "Rotation of $id [/usr/bin/jpegtran -rotate $rotval -copy all < '$fname' > '$tmpfname' && mv '$tmpfname' '$fname'] failed: $!.");
+                               system("/usr/bin/jpegtran -rotate $rotval -copy all < '$fname' > '$tmpfname' && /bin/mv '$tmpfname' '$fname'") == 0
+                                       or error($r, "Rotation of $id [/usr/bin/jpegtran -rotate $rotval -copy all < '$fname' > '$tmpfname' && /bin/mv '$tmpfname' '$fname'] failed: $!.");
                                $r->print("    <p>Rotated image ID `$id' by $rotval degrees.</p>\n");
 
                                if ($rotval == 90 || $rotval == 270) {