Sophie

Sophie

distrib > Mageia > cauldron > x86_64 > media > core-release-src > by-pkgid > 79575788875a1e322d38d4f83184715c > files > 3

perl-Tk-804.36.0-5.mga10.src.rpm

--- Tk-804.033/objGlue.c.foo	2014-11-16 23:29:00.000000000 +0200
+++ Tk-804.033/objGlue.c	2015-06-23 16:35:07.337670194 +0300
@@ -428,6 +428,10 @@
    SvREADONLY_off(sv);
    (void) SvPV_force(sv,len);
    s = LangString(sv);
+     if (!s)
+      {
+       return NULL;
+      }
    SvREADONLY_on(sv);
   }
  else
@@ -560,6 +564,10 @@
       sv_utf8_upgrade(objPtr);
 #endif
      s = SvPV(objPtr, len);
+     if (!s)
+      {
+       return NULL;
+      }
 #ifdef SvUTF8
      if (!is_utf8_string(s,len))
       {
@@ -587,6 +595,10 @@
    else
     {
      s = LangString(objPtr);
+     if (!s)
+      {
+       return NULL;
+      }
 #ifdef SvUTF8
 # ifdef NEED_FIX_BUGGY_UTF8_STRING
      if (!is_utf8_string(s,strlen(s)))
--- Tk-804.033/pTk/mTk/generic/tkFont.c.foo	2013-11-18 11:04:04.000000000 +0200
+++ Tk-804.033/pTk/mTk/generic/tkFont.c	2015-06-23 16:32:29.296166653 +0300
@@ -1044,6 +1044,7 @@
     TkFont *fontPtr, *firstFontPtr, *oldFontPtr;
     int new, descent;
     NamedFont *nfPtr;
+    char *fontString;
 
     fiPtr = ((TkWindow *) tkwin)->mainPtr->fontInfoPtr;
     if (objPtr->typePtr != &tkFontObjType) {
@@ -1077,8 +1078,12 @@
 	cacheHashPtr = oldFontPtr->cacheHashPtr;
 	FreeFontObjProc(objPtr);
     } else {
+	fontString = Tcl_GetString(objPtr);
+	if (fontString == NULL) {
+		fontString = "";
+	}
 	cacheHashPtr = Tcl_CreateHashEntry(&fiPtr->fontCache,
-		Tcl_GetString(objPtr), &new);
+		fontString, &new);
     }
     firstFontPtr = (TkFont *) Tcl_GetHashValue(cacheHashPtr);
     for (fontPtr = firstFontPtr; (fontPtr != NULL);
@@ -1095,8 +1100,12 @@
      * The desired font isn't in the table.  Make a new one.
      */
 
+    fontString = Tcl_GetString(objPtr);
+    if (fontString == NULL) {
+	    fontString = "";
+    }
     namedHashPtr = Tcl_FindHashEntry(&fiPtr->namedTable,
-	    Tcl_GetString(objPtr));
+	    fontString);
     if (namedHashPtr != NULL) {
 	/*
 	 * Construct a font based on a named font.
@@ -1111,7 +1120,7 @@
 	 * Native font?
 	 */
 
-	fontPtr = TkpGetNativeFont(tkwin, Tcl_GetString(objPtr));
+	fontPtr = TkpGetNativeFont(tkwin, fontString);
 	if (fontPtr == NULL) {
 	    TkFontAttributes fa;
 	    Tcl_Obj *dupObjPtr = Tcl_DuplicateObj(objPtr);