QImage segmentation fault upon scaling

If the window is continuously resized after setImage has been called at least once, the application randomly produces a segmentation fault. The debugger appears to indicate that the offending line is the call to image.scaled() in canvas.cpp. I am not certain how to trace it further.

canvas.h

#ifndef CANVAS_H
#define CANVAS_H

#include <QGLWidget>

class Canvas : public QGLWidget
{
    Q_OBJECT
public:
    explicit Canvas(QWidget *parent = 0);

    void paintEvent(QPaintEvent* event);

public slots:
    void setImage(const QImage& image);

private:
    QImage image;
};

#endif // CANVAS_H

canvas.cpp

#include "canvas.h"

Canvas::Canvas(QWidget *parent) :
    QGLWidget(parent)
{
}

void Canvas::setImage(const QImage& image) {
    this->image = image;
    this->update();
}

void Canvas::paintEvent(QPaintEvent *) {
    QPainter painter(this);
    QSize size = this->size();

    if (!image.isNull()) {
        QImage scaled = image.scaled(size, Qt::KeepAspectRatio, Qt::SmoothTransformation);
        painter.drawImage(0, 0, scaled);
    }
}