tdf#81263 ww8par6: only use valid sal_uInt16 values for ULSpace

VerticalOrient position returns a signed SwTwips number,
but ULSpace uses unsigned int16, so negative numbers
were creating huge margins.

fixes commit 3755c87d0426a499d4755e82d8fbc77caa240764

Change-Id: I23daea9a913ef73efc42a65e0adfc393eaf4e775
Reviewed-on: https://gerrit.libreoffice.org/32400
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Justin Luth <justin_luth@sil.org>
(cherry picked from commit 604cf7024fce29143150ab77b2f14b59a45e61eb)
Reviewed-on: https://gerrit.libreoffice.org/32402
Tested-by: Justin Luth <justin_luth@sil.org>
Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk>
diff --git a/sw/source/filter/ww8/ww8par6.cxx b/sw/source/filter/ww8/ww8par6.cxx
index 68b017e..0477795 100644
--- a/sw/source/filter/ww8/ww8par6.cxx
+++ b/sw/source/filter/ww8/ww8par6.cxx
@@ -2355,8 +2355,9 @@ bool SwWW8ImplReader::StartApo(const ApoTestResults &rApo,
                if (aFlySet.HasItem(RES_VERT_ORIENT, &pItem))
                {
                    const SwFormatVertOrient* pOrient = static_cast<const SwFormatVertOrient*>(pItem);
                    if (pOrient->GetPos() != 0)
                        pULSpaceItem->SetUpper(pOrient->GetPos());
                    SwTwips nPos = pOrient->GetPos();
                    if( 0 < nPos && nPos <= SAL_MAX_UINT16 )
                        pULSpaceItem->SetUpper( sal_uInt16(nPos) );
                }
            }
        }