searchengine/oss/sb/snowball/libstemmer/libstemmer.c
changeset 2 6c1a2771f4b7
parent 0 671dee74050a
--- a/searchengine/oss/sb/snowball/libstemmer/libstemmer.c	Mon May 03 13:33:22 2010 +0300
+++ b/searchengine/oss/sb/snowball/libstemmer/libstemmer.c	Fri May 14 16:57:37 2010 +0300
@@ -77,12 +77,20 @@
 	    (struct sb_stemmer *) malloc(sizeof(struct sb_stemmer));
     if (stemmer == NULL) return NULL;
     enc = sb_getenc(charenc);
-    if (enc == ENC_UNKNOWN) return NULL;
+    if (enc == ENC_UNKNOWN) 
+        {
+        sb_stemmer_delete(stemmer);
+        return NULL;
+        }
 
     for (module = modules; module->name != 0; module++) {
 	if (strcmp(module->name, algorithm) == 0 && module->enc == enc) break;
     }
-    if (module->name == NULL) return NULL;
+    if (module->name == NULL) 
+        {
+        sb_stemmer_delete(stemmer);
+        return NULL;
+        }
     
     stemmer->create = module->create;
     stemmer->close = module->close;