Bug 1268721, part 2 - Null check first argument to nsContentUtils::GetSurfaceData(). r=jimm

This commit is contained in:
Andrew McCreight 2016-05-03 07:04:21 -07:00
Родитель f7e9800e93
Коммит ce5db61801
3 изменённых файлов: 21 добавлений и 13 удалений

Просмотреть файл

@ -7383,6 +7383,9 @@ nsContentUtils::TransferableToIPCTransferable(nsITransferable* aTransferable,
}
RefPtr<mozilla::gfx::DataSourceSurface> dataSurface =
surface->GetDataSurface();
if (!dataSurface) {
continue;
}
size_t length;
int32_t stride;
mozilla::UniquePtr<char[]> surfaceData =

Просмотреть файл

@ -983,6 +983,10 @@ PuppetWidget::SetCursor(imgIContainer* aCursor,
RefPtr<mozilla::gfx::DataSourceSurface> dataSurface =
surface->GetDataSurface();
if (!dataSurface) {
return NS_ERROR_FAILURE;
}
size_t length;
int32_t stride;
mozilla::UniquePtr<char[]> surfaceData =

Просмотреть файл

@ -51,20 +51,21 @@ nsDragServiceProxy::InvokeDragSessionImpl(nsISupportsArray* aArrayTransferables,
RefPtr<mozilla::gfx::DataSourceSurface> dataSurface =
surface->GetDataSurface();
mozilla::gfx::IntSize size = dataSurface->GetSize();
if (dataSurface) {
size_t length;
int32_t stride;
mozilla::UniquePtr<char[]> surfaceData =
nsContentUtils::GetSurfaceData(dataSurface, &length, &stride);
nsDependentCString dragImage(surfaceData.get(), length);
size_t length;
int32_t stride;
mozilla::UniquePtr<char[]> surfaceData =
nsContentUtils::GetSurfaceData(dataSurface, &length, &stride);
nsDependentCString dragImage(surfaceData.get(), length);
mozilla::Unused <<
child->SendInvokeDragSession(dataTransfers, aActionType, dragImage,
size.width, size.height, stride,
static_cast<uint8_t>(dataSurface->GetFormat()),
dragRect.x, dragRect.y);
StartDragSession();
return NS_OK;
mozilla::Unused <<
child->SendInvokeDragSession(dataTransfers, aActionType, dragImage,
size.width, size.height, stride,
static_cast<uint8_t>(dataSurface->GetFormat()),
dragRect.x, dragRect.y);
StartDragSession();
return NS_OK;
}
}
}